<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-05-25T00:35:08.669837" rpa="false" schemaversion="5">
<suite id="s1" name="openflowplugin-sanity.txt">
<suite id="s1-s1" name="MD SAL NSF OF10" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF10">
<kw name="Start Mininet" owner="Utils" type="SETUP">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:09.110522" level="INFO">Start the test on the base edition</msg>
<arg>Start the test on the base edition</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:09.110175" elapsed="0.000419"/>
</kw>
<kw name="Clean Mininet System" owner="Utils">
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:09.113069" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:09.112788" elapsed="0.000348"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:09.112758" elapsed="0.000409"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:09.113636" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:35:09.113765" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:35:09.113322" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:09.114360" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:09.113933" elapsed="0.000500"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:09.114978" level="INFO">${conn_id} = 1</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:09.114573" elapsed="0.000433"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:09.115996" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:09.116082" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:09.115562" elapsed="0.000549"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:09.116276" elapsed="0.000358"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:09.117469" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:09.793573" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:09.117123" elapsed="0.676654"/>
</kw>
<msg time="2026-05-25T00:35:09.793884" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:09.116781" elapsed="0.677205"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:09.115205" elapsed="0.678926"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:09.794699" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-05-25T00:35:10.952907" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:35:10.953323" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:35:10.953435" level="INFO">${stderr} = *** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec iv...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:09.794421" elapsed="1.159071"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:10.953881" elapsed="0.002020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:10.956904" level="INFO">*** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
killall -9 controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
pkill -9 -f "sudo mnexec"
*** Removing junk from /tmp
rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log
*** Removing old X11 tunnels
*** Removing excess kernel datapaths
ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/'
***  Removing OVS datapaths
ovs-vsctl --timeout=1 list-br
ovs-vsctl --timeout=1 list-br
*** Removing all links of the pattern foo-ethX
ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'
ip link show
*** Killing stale mininet node processes
pkill -9 -f mininet:
*** Shutting down stale tunnels
pkill -9 -f Tunnel=Ethernet
pkill -9 -f .ssh/mn
rm -f ~/.ssh/mn/*
*** Cleanup complete.</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:10.956225" elapsed="0.000945"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:10.957698" elapsed="0.000043"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:10.957390" elapsed="0.000429"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:10.957331" elapsed="0.000543"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:35:10.958304" elapsed="0.000076"/>
</return>
<status status="PASS" start="2026-05-25T00:35:10.958028" elapsed="0.000430"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:10.957988" elapsed="0.000529"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:10.958596" elapsed="0.000033"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:10.963288" elapsed="0.000351"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:10.963777" elapsed="0.000180"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:10.964080" elapsed="0.000101"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:35:10.959308" elapsed="0.004946"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:35:09.112248" elapsed="1.852104"/>
</kw>
<msg time="2026-05-25T00:35:10.964410" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:09.111575" elapsed="1.852899"/>
</kw>
<arg>${system}</arg>
<arg>sudo mn -c</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:09.111076" elapsed="1.853478"/>
</kw>
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:10.966538" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:10.966290" elapsed="0.000305"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:10.966268" elapsed="0.000355"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:10.966899" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:35:10.967013" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:35:10.966745" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:10.967568" level="INFO">Attempting to execute command "sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:10.967163" elapsed="0.000453"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:10.968131" level="INFO">${conn_id} = 3</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:10.967743" elapsed="0.000415"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:10.968979" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:10.969063" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:10.968690" elapsed="0.000397"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:10.969216" elapsed="0.000346"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:10.970413" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:11.303118" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:09 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:10.970068" elapsed="0.333244"/>
</kw>
<msg time="2026-05-25T00:35:11.303492" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:10.969703" elapsed="0.333879"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:10.968362" elapsed="0.335334"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:11.304164" level="INFO">Executing command 'sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh'.</msg>
<msg time="2026-05-25T00:35:11.337225" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-05-25T00:35:11.337557" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:35:11.337657" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:11.303912" elapsed="0.033798"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:11.338108" elapsed="0.000598"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:11.339774" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:11.339055" elapsed="0.000848"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:11.340685" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:11.340141" elapsed="0.000659"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:11.340073" elapsed="0.000780"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:35:11.341218" elapsed="0.000102"/>
</return>
<status status="PASS" start="2026-05-25T00:35:11.340978" elapsed="0.000418"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:11.340942" elapsed="0.000510"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:11.341529" elapsed="0.000032"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:11.346320" elapsed="0.000341"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:11.346800" elapsed="0.000170"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:11.347091" elapsed="0.000110"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:35:11.342215" elapsed="0.005063"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:35:10.965748" elapsed="0.381628"/>
</kw>
<msg time="2026-05-25T00:35:11.347434" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:10.965153" elapsed="0.382336"/>
</kw>
<arg>${system}</arg>
<arg>sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:10.964714" elapsed="0.382858"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:09.110780" elapsed="2.236856"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:11.348161" level="INFO">${mininet_conn_id} = 5</msg>
<var>${mininet_conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:11.347773" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:11.348689" level="INFO">${mininet_conn_id} = 5</msg>
<arg>${mininet_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:11.348352" elapsed="0.000379"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:11.350423" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:11.350503" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:11.350114" elapsed="0.000413"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:11.350655" elapsed="0.000318"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:11.351781" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:11.680175" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:11 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:11.351460" elapsed="0.328995"/>
</kw>
<msg time="2026-05-25T00:35:11.680540" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:11.351110" elapsed="0.329510"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:11.349666" elapsed="0.331080"/>
</kw>
<msg time="2026-05-25T00:35:11.680800" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:11.349302" elapsed="0.331549"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:11.348904" elapsed="0.332023"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:11.681325" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-05-25T00:35:11.703785" level="INFO">Command exited with return code 0.</msg>
<arg>sudo ovs-vsctl set-manager ptcp:6644</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:11.681155" elapsed="0.022775"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:11.740630" level="INFO">sudo mn --controller=remote,ip=10.30.170.7 --topo tree,2 --switch ovsk,protocols=OpenFlow13</msg>
<arg>${start}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:11.704288" elapsed="0.036404"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:12.054554" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.170.7:6653
*** Adding hosts:
h1 h2 h3 h4 
*** Adding switches:
s1 s2 s3 
*** Adding links:
(s1, s2) (s1, s3) (s2, h1) (s2, h2) (s3, h3) (s3, h4) 
*** Configuring hosts
h1 h2 h3 h4 
*** Starting controller
c0 
*** Starting 3 switches
s1 s2 s3 ...
*** Starting CLI:
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:11.740837" elapsed="0.313814"/>
</kw>
<doc>Basic setup/cleanup work that can be done safely before any system
is run.</doc>
<status status="PASS" start="2026-05-25T00:35:09.108936" elapsed="2.945794"/>
</kw>
<suite id="s1-s1-s1" name="010 Restconf Inventory" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF10/010_restconf_inventory.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:12.089479" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d140505b50&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:12.089095" elapsed="0.000620"/>
</kw>
<test id="s1-s1-s1-t1" name="Get list of nodes" line="30">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:13.008295" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:13.009722" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Set-Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:12 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '242'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-05-25T00:35:13.010011" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:12.097133" elapsed="0.912940"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:13.011105" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:13.010342" elapsed="0.000923"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:13.016440" level="INFO">{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:13.011648" elapsed="0.004907"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:13.011333" elapsed="0.005302"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:13.010278" elapsed="0.006415"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:13.017677" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 409 != 200</msg>
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="FAIL" start="2026-05-25T00:35:13.016981" elapsed="0.001831">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 409 != 200</status>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:13.019152" elapsed="0.000022"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-05-25T00:35:13.018997" elapsed="0.000213"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-05-25T00:35:13.018909" elapsed="0.000349"/>
</for>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:12.096721" elapsed="0.922657">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 409 != 200</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.101451" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.105613" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"7","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:15.106038" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.032326" elapsed="0.073757"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.106808" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.106272" elapsed="0.000627"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.110793" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"7","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"0a:46:39:17:ae:ed","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":269000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"66:0f:80:ea:2f:4a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":270000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"5a:ac:eb:51:e9:74","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"5"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":273000000},"bytes":{"transmitted":"351","received":"426"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:3e:c2:50:49:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":260000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.330Z"}},{"id":"openflow:1","flow-node-inventory:port-number":54694,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"8","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"6","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":292000000},"bytes":{"transmitted":"511","received":"511"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:49:2f:b5:ca:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":278000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"56:2e:8a:14:10:1e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":293000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.335Z"}},{"id":"openflow:2","flow-node-inventory:port-number":54706,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"5","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"6","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"511","received":"511"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:87:03:84:32:4b","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":234000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5e:e4:30:cb:fd:78","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"7e:ab:f9:78:3b:9a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.314Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.107139" elapsed="0.005322"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.106938" elapsed="0.005579"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.106208" elapsed="0.006344"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.112747" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.113479" elapsed="0.002554"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:35:15.113339" elapsed="0.002738"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.116311" elapsed="0.002487"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:35:15.116168" elapsed="0.002671"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.119056" elapsed="0.002479"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:35:15.118932" elapsed="0.002645"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.113150" elapsed="0.008461"/>
</for>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.031769" elapsed="0.089905"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:12.090216" elapsed="3.031512"/>
</kw>
<doc>Get the inventory</doc>
<status status="PASS" start="2026-05-25T00:35:12.089796" elapsed="3.032081"/>
</test>
<test id="s1-s1-s1-t2" name="Check No Link Down" line="39">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Specific Number Of Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.158408" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.159708" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"7","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:15.160229" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.132108" elapsed="0.028223"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.166057" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"7","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"0a:46:39:17:ae:ed","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":269000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"66:0f:80:ea:2f:4a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":270000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"5a:ac:eb:51:e9:74","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"5"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":273000000},"bytes":{"transmitted":"351","received":"426"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:3e:c2:50:49:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":260000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.330Z"}},{"id":"openflow:1","flow-node-inventory:port-number":54694,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"8","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"6","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":292000000},"bytes":{"transmitted":"511","received":"511"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:49:2f:b5:ca:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":278000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"56:2e:8a:14:10:1e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":293000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.335Z"}},{"id":"openflow:2","flow-node-inventory:port-number":54706,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"5","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"6","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"511","received":"511"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:87:03:84:32:4b","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":234000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5e:e4:30:cb:fd:78","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"7e:ab:f9:78:3b:9a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.314Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.160729" elapsed="0.006905"/>
</kw>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.167833" elapsed="0.000249"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.171787" level="INFO">Item found from container 8 times.</msg>
<arg>${resp.text}</arg>
<arg>${element}</arg>
<arg>${expected_count}</arg>
<doc>Fails if ``container`` does not contain ``item`` ``count`` times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.168317" elapsed="0.004128"/>
</kw>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>"link-down":false</arg>
<arg>8</arg>
<doc>A GET is made to the specified ${URI} and the specific count of a
given element is done (as supplied by ${element} and ${expected_count})</doc>
<status status="PASS" start="2026-05-25T00:35:15.131715" elapsed="0.040828"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Specific Number Of Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>"link-down":false</arg>
<arg>8</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.122607" elapsed="0.050014"/>
</kw>
<kw name="Report Failure Due To Bug" owner="Utils" type="TEARDOWN">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.174374" level="INFO">${test_skipped} = False</msg>
<var>${test_skipped}</var>
<arg>len(re.findall('SKIPPED', """${TEST_MESSAGE}""")) &gt; 0</arg>
<arg>modules=re</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:15.173675" elapsed="0.000740"/>
</kw>
<if>
<branch type="IF" condition="('${TEST_STATUS}' != 'FAIL') or ${test_skipped}">
<return>
<status status="PASS" start="2026-05-25T00:35:15.174745" elapsed="0.000051"/>
</return>
<status status="PASS" start="2026-05-25T00:35:15.174530" elapsed="0.000311"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.174499" elapsed="0.000378"/>
</if>
<kw name="Comment" owner="BuiltIn">
<arg>Jira tickets are {PROJECT}-{NUMBER} while Bugzilla tickets are {NUMBER}</arg>
<doc>Displays the given messages in the log file as keyword arguments.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.175065" elapsed="0.000038"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<var>${match}</var>
<arg>Should Contain</arg>
<arg>${number}</arg>
<arg>-</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.175304" elapsed="0.000031"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${bug_url}</var>
<arg>${match}</arg>
<arg>https://jira.opendaylight.org/browse/${number}</arg>
<arg>https://bugs.opendaylight.org/show_bug.cgi?id=${number}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.175521" elapsed="0.000030"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<var>${msg}</var>
<arg>This test fails due to ${bug_url}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.175726" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${newline}</var>
<arg>chr(10)</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.175922" elapsed="0.000029"/>
</kw>
<kw name="Set Test Message" owner="BuiltIn">
<arg>${msg}${newline}${newline}${TEST_MESSAGE}</arg>
<doc>Sets message for the current test case.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.176115" elapsed="0.000028"/>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.176326" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="&quot;${include_bug_in_tags}&quot;==&quot;True&quot;">
<kw name="Set Tags" owner="BuiltIn">
<arg>${bug_url}</arg>
<doc>Adds given ``tags`` for the current test or all tests in a suite.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:15.176622" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.176445" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:15.176420" elapsed="0.000309"/>
</if>
<arg>6595</arg>
<doc>Report that a test failed due to a known Bugzilla bug whose
number is provided as an argument.
Not FAILED (incl. SKIPPED) test are not reported.
This keyword must be used in the [Teardown] setting of the affected test
or as the first line of the test if FastFail module is not being
used. It reports the URL of the bug on console and also puts it
into the Robot log file.</doc>
<status status="PASS" start="2026-05-25T00:35:15.173168" elapsed="0.003632"/>
</kw>
<doc>Check there is no link down. We have 8 ports in total: s1=2, s2=3, s3=3.</doc>
<status status="PASS" start="2026-05-25T00:35:15.122104" elapsed="0.054761"/>
</test>
<test id="s1-s1-s1-t3" name="Get node 1 inventory" line="50">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.178063" level="INFO">${list} = ['"flow-node-inventory:flow-feature-capability-flow-stats"', '"flow-node-inventory:flow-feature-capability-table-stats"', '"flow-node-inventory:flow-feature-capability-port-stats"', '"flow-node-invent...</msg>
<var>${list}</var>
<arg>@{SW_CAPABILITIES}</arg>
<arg>${SW_VENDOR}</arg>
<arg>${SW_IPADDRESS}</arg>
<arg>${SW_HARDWARE}</arg>
<arg>openflow:1:1</arg>
<arg>openflow:1:2</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:15.177628" elapsed="0.000464"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.203101" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.206697" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":54694,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"8","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-tab... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:15.207055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.185387" elapsed="0.021708"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.207705" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.207227" elapsed="0.000561"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.211277" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":54694,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"8","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"6","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":292000000},"bytes":{"transmitted":"511","received":"511"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:49:2f:b5:ca:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":278000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"56:2e:8a:14:10:1e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":293000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.335Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.208004" elapsed="0.003795"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.207824" elapsed="0.004027"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.207192" elapsed="0.004691"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.212057" elapsed="0.000296"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.212865" elapsed="0.003355"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.212682" elapsed="0.003617"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.216589" elapsed="0.002564"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.216422" elapsed="0.002773"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.219418" elapsed="0.002353"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.219295" elapsed="0.002517"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.222021" elapsed="0.002397"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.221900" elapsed="0.002559"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.224664" elapsed="0.002337"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-05-25T00:35:15.224544" elapsed="0.002498"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.227261" elapsed="0.002388"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.87"</var>
<status status="PASS" start="2026-05-25T00:35:15.227124" elapsed="0.002565"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.229888" elapsed="0.003525"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-05-25T00:35:15.229770" elapsed="0.003700"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.233724" elapsed="0.002361"/>
</kw>
<var name="${i}">openflow:1:1</var>
<status status="PASS" start="2026-05-25T00:35:15.233582" elapsed="0.002543"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.236342" elapsed="0.002359"/>
</kw>
<var name="${i}">openflow:1:2</var>
<status status="PASS" start="2026-05-25T00:35:15.236206" elapsed="0.002534"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.212467" elapsed="0.026304"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.184845" elapsed="0.053999"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.178268" elapsed="0.060636"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-05-25T00:35:15.177204" elapsed="0.061837"/>
</test>
<test id="s1-s1-s1-t4" name="Get node 2 inventory" line="61">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.240132" level="INFO">${list} = ['"flow-node-inventory:flow-feature-capability-flow-stats"', '"flow-node-inventory:flow-feature-capability-table-stats"', '"flow-node-inventory:flow-feature-capability-port-stats"', '"flow-node-invent...</msg>
<var>${list}</var>
<arg>@{SW_CAPABILITIES}</arg>
<arg>${SW_VENDOR}</arg>
<arg>${SW_IPADDRESS}</arg>
<arg>${SW_HARDWARE}</arg>
<arg>openflow:2:1</arg>
<arg>openflow:2:2</arg>
<arg>openflow:2:3</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:15.239694" elapsed="0.000467"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.260675" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.265320" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":54706,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"5","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-tab... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:15.265946" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.247149" elapsed="0.018865"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.267129" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.266267" elapsed="0.001083"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.272028" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":54706,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"5","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"6","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"511","received":"511"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:87:03:84:32:4b","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":234000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5e:e4:30:cb:fd:78","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"7e:ab:f9:78:3b:9a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":238000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.314Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.267778" elapsed="0.004824"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.267426" elapsed="0.005230"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.266179" elapsed="0.006511"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.272870" elapsed="0.000328"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.273705" elapsed="0.003323"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.273523" elapsed="0.003564"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.277395" elapsed="0.003294"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.277207" elapsed="0.003541"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.281087" elapsed="0.002438"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.280867" elapsed="0.002699"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.283767" elapsed="0.002360"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.283648" elapsed="0.002520"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.286389" elapsed="0.002391"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-05-25T00:35:15.286268" elapsed="0.002555"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.289052" elapsed="0.002350"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.87"</var>
<status status="PASS" start="2026-05-25T00:35:15.288928" elapsed="0.002516"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.291647" elapsed="0.002410"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-05-25T00:35:15.291528" elapsed="0.002570"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.294315" elapsed="0.002325"/>
</kw>
<var name="${i}">openflow:2:1</var>
<status status="PASS" start="2026-05-25T00:35:15.294180" elapsed="0.002500"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.296903" elapsed="0.002358"/>
</kw>
<var name="${i}">openflow:2:2</var>
<status status="PASS" start="2026-05-25T00:35:15.296762" elapsed="0.002539"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.299502" elapsed="0.002354"/>
</kw>
<var name="${i}">openflow:2:3</var>
<status status="PASS" start="2026-05-25T00:35:15.299383" elapsed="0.002513"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.273318" elapsed="0.028608"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A2?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.246647" elapsed="0.055342"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A2?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.240349" elapsed="0.061692"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-05-25T00:35:15.239282" elapsed="0.062894"/>
</test>
<test id="s1-s1-s1-t5" name="Get node 3 inventory" line="72">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.303391" level="INFO">${list} = ['"flow-node-inventory:flow-feature-capability-flow-stats"', '"flow-node-inventory:flow-feature-capability-table-stats"', '"flow-node-inventory:flow-feature-capability-port-stats"', '"flow-node-invent...</msg>
<var>${list}</var>
<arg>@{SW_CAPABILITIES}</arg>
<arg>${SW_VENDOR}</arg>
<arg>${SW_IPADDRESS}</arg>
<arg>${SW_HARDWARE}</arg>
<arg>openflow:3:1</arg>
<arg>openflow:3:2</arg>
<arg>openflow:3:3</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:15.302823" elapsed="0.000611"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.324703" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.325746" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"7","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-tab... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:15.326055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.310417" elapsed="0.015678"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.326656" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.326214" elapsed="0.000523"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.330204" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"7","active-flows":1,"packets-matched":"0"}},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:13.073Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"0a:46:39:17:ae:ed","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":269000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"66:0f:80:ea:2f:4a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":270000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"5a:ac:eb:51:e9:74","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"4","received":"5"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":273000000},"bytes":{"transmitted":"351","received":"426"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:3e:c2:50:49:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":1,"nanosecond":260000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:13.330Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.326965" elapsed="0.003800"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.326774" elapsed="0.004042"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.326184" elapsed="0.004665"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.331023" elapsed="0.000261"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.331737" elapsed="0.003049"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.331566" elapsed="0.003261"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.335033" elapsed="0.002384"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.334912" elapsed="0.002547"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.337659" elapsed="0.002339"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.337541" elapsed="0.002498"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.340254" elapsed="0.002962"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-05-25T00:35:15.340122" elapsed="0.003175"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.343581" elapsed="0.003345"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-05-25T00:35:15.343415" elapsed="0.003569"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.347284" elapsed="0.003300"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.87"</var>
<status status="PASS" start="2026-05-25T00:35:15.347100" elapsed="0.003541"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.350928" elapsed="0.003004"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-05-25T00:35:15.350756" elapsed="0.003228"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.354206" elapsed="0.002355"/>
</kw>
<var name="${i}">openflow:3:1</var>
<status status="PASS" start="2026-05-25T00:35:15.354083" elapsed="0.002518"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.356799" elapsed="0.002358"/>
</kw>
<var name="${i}">openflow:3:2</var>
<status status="PASS" start="2026-05-25T00:35:15.356683" elapsed="0.002514"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.359433" elapsed="0.002340"/>
</kw>
<var name="${i}">openflow:3:3</var>
<status status="PASS" start="2026-05-25T00:35:15.359310" elapsed="0.002502"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.331370" elapsed="0.030472"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.309899" elapsed="0.052003"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.303639" elapsed="0.058314"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-05-25T00:35:15.302408" elapsed="0.059665"/>
</test>
<test id="s1-s1-s1-t6" name="Link Down" line="83">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:15.364485" level="INFO">link s1 s2 down</msg>
<arg>link s1 s2 down</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:15.362868" elapsed="0.001678"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:15.368597" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:15.364693" elapsed="0.003961"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.369113" level="INFO">@{list} = [ "link-down":true ]</msg>
<var>@{list}</var>
<arg>"link-down":true</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:15.368796" elapsed="0.000344"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.391583" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.392842" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '618'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]} 
 </msg>
<msg time="2026-05-25T00:35:15.393332" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.376059" elapsed="0.017321"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.394150" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.393560" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.398268" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.394519" elapsed="0.003830"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.394311" elapsed="0.004089"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.393513" elapsed="0.004922"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.398649" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.399645" elapsed="0.003416"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-05-25T00:35:15.399376" elapsed="0.003745"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.399082" elapsed="0.004084"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.375552" elapsed="0.027742"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.369319" elapsed="0.034090"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.417957" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.418498" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '618'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]} 
 </msg>
<msg time="2026-05-25T00:35:15.418615" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.411084" elapsed="0.007565"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.419085" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.418749" elapsed="0.000397"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.421708" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.419322" elapsed="0.002464"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.419174" elapsed="0.002666"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.418724" elapsed="0.003149"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.422056" elapsed="0.000284"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.422831" elapsed="0.003194"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-05-25T00:35:15.422643" elapsed="0.003443"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.422433" elapsed="0.003700"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.410544" elapsed="0.015676"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.403645" elapsed="0.022678"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-05-25T00:35:15.362474" elapsed="0.064042"/>
</test>
<test id="s1-s1-s1-t7" name="Link Up" line="101">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:15.429752" level="INFO">link s1 s2 up</msg>
<arg>link s1 s2 up</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:15.427752" elapsed="0.002140"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:15.433860" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:15.430226" elapsed="0.003760"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.435055" level="INFO">@{list} = [ "link-down":false ]</msg>
<var>@{list}</var>
<arg>"link-down":false</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:15.434346" elapsed="0.000772"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.451448" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.451995" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '609'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]} 
 </msg>
<msg time="2026-05-25T00:35:15.452135" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.444574" elapsed="0.007588"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.452703" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.452305" elapsed="0.000462"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.456007" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.453023" elapsed="0.003058"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.452795" elapsed="0.003337"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.452271" elapsed="0.003893"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.456362" elapsed="0.000249"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.457159" elapsed="0.003310"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-05-25T00:35:15.456971" elapsed="0.003559"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.456711" elapsed="0.003865"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.443781" elapsed="0.016883"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.435501" elapsed="0.025234"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.478858" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node04998pfp2d3ux1rzru1rk45tnx0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.479464" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '609'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]} 
 </msg>
<msg time="2026-05-25T00:35:15.479690" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.470310" elapsed="0.009438"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.480602" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.479929" elapsed="0.000893"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.486036" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.481305" elapsed="0.004844"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.480935" elapsed="0.005294"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.479885" elapsed="0.006430"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.486586" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.487684" elapsed="0.003035"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-05-25T00:35:15.487418" elapsed="0.003344"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.487085" elapsed="0.003708"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.469769" elapsed="0.021080"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.461024" elapsed="0.029875"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-05-25T00:35:15.427098" elapsed="0.063933"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:15.491867" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:15.491782" elapsed="0.000162"/>
</kw>
<doc>Test suite for RESTCONF inventory</doc>
<status status="PASS" start="2026-05-25T00:35:12.054808" elapsed="3.437172"/>
</suite>
<suite id="s1-s1-s2" name="020 Restconf Topology" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF10/020_restconf_topology.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:15.524507" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/json'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d140562dd0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:15.524150" elapsed="0.000520"/>
</kw>
<test id="s1-s1-s2-t1" name="Get RESTCONF Topology" line="20">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.542781" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.546600" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:15 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2991'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:35:15.546970" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.531740" elapsed="0.015291"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:15.547898" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:15.547215" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.553216" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.548405" elapsed="0.004923"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:15.548085" elapsed="0.005280"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:15.547170" elapsed="0.006217"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:15.553511" elapsed="0.000170"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.553990" elapsed="0.002284"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:35:15.553870" elapsed="0.002448"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.556522" elapsed="0.002220"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:35:15.556402" elapsed="0.002382"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.558987" elapsed="0.002189"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:35:15.558868" elapsed="0.002350"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:15.553737" elapsed="0.007528"/>
</for>
<arg>${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:15.531341" elapsed="0.029982"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>${node_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.525273" elapsed="0.036103"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.568176" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.568404" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2991'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:35:15.568553" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.561514" elapsed="0.007066"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.570852" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.568732" elapsed="0.002189"/>
</kw>
<doc>Get RESTCONF Topology and validate the result.</doc>
<status status="PASS" start="2026-05-25T00:35:15.524749" elapsed="0.046286"/>
</test>
<test id="s1-s1-s2-t2" name="List all the links" line="31">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.572021" level="INFO">${body1} = {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:1</arg>
<arg>dest-tp=openflow:1:2</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.571684" elapsed="0.000365"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.572583" level="INFO">${body2} = {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:3</arg>
<arg>source-tp=openflow:3:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.572201" elapsed="0.000410"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.573292" level="INFO">${link2} = {'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</msg>
<var>${link2}</var>
<arg>link-id=openflow:3:3</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.572765" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.574035" level="INFO">${link2} = {'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</msg>
<arg>${link2}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:15.573578" elapsed="0.000516"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.574752" level="INFO">${body1} = {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:1</arg>
<arg>dest-tp=openflow:1:1</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.574319" elapsed="0.000470"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.575444" level="INFO">${body2} = {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:2</arg>
<arg>source-tp=openflow:2:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.574995" elapsed="0.000486"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.576263" level="INFO">${link1} = {'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</msg>
<var>${link1}</var>
<arg>link-id=openflow:2:3</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.575687" elapsed="0.000617"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.577003" level="INFO">${link1} = {'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</msg>
<arg>${link1}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:15.576517" elapsed="0.000559"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.577749" level="INFO">${body1} = {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:3</arg>
<arg>dest-tp=openflow:3:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.577319" elapsed="0.000466"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.578444" level="INFO">${body2} = {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:1</arg>
<arg>source-tp=openflow:1:2</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.577993" elapsed="0.000489"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.579340" level="INFO">${link4} = {'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</msg>
<var>${link4}</var>
<arg>link-id=openflow:1:2</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.578750" elapsed="0.000629"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.580027" level="INFO">${link4} = {'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</msg>
<arg>${link4}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:15.579591" elapsed="0.000495"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.580738" level="INFO">${body1} = {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:2</arg>
<arg>dest-tp=openflow:2:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.580310" elapsed="0.000465"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.581555" level="INFO">${body2} = {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:1</arg>
<arg>source-tp=openflow:1:1</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.581070" elapsed="0.000522"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.582202" level="INFO">${link3} = {'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</msg>
<var>${link3}</var>
<arg>link-id=openflow:1:1</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.581800" elapsed="0.000430"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.582710" level="INFO">${link3} = {'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</msg>
<arg>${link3}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:15.582400" elapsed="0.000352"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.583288" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${link1}</arg>
<arg>${link2}</arg>
<arg>${link3}</arg>
<arg>${link4}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:15.582889" elapsed="0.000428"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:15.590625" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:15.592622" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2970'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:15.592788" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:15.584291" elapsed="0.008574"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.596060" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.593123" elapsed="0.003095"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.600294" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:15.599613" elapsed="0.000725"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:15.600417" elapsed="0.000056"/>
</return>
<msg time="2026-05-25T00:35:15.600708" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:15.596512" elapsed="0.004234"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.601407" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:15.601009" elapsed="0.000467"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:15.601841" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.601617" elapsed="0.000253"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:15.602263" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.602010" elapsed="0.000281"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:15.602629" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:15.602439" elapsed="0.000217"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:15.602972" elapsed="0.000350"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:15.602851" elapsed="0.000510"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:15.603967" level="FAIL">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</msg>
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:15.603571" elapsed="0.000493">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="FAIL" start="2026-05-25T00:35:15.603454" elapsed="0.000719">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="FAIL" start="2026-05-25T00:35:15.602709" elapsed="0.001554">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</for>
<arg>${links}</arg>
<status status="FAIL" start="2026-05-25T00:35:15.583968" elapsed="0.021852">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:17.618314" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:17.618645" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2970'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:17.618824" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:17.607850" elapsed="0.011013"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:17.622915" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:17.619109" elapsed="0.004058"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:17.630449" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:17.629215" elapsed="0.001307"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:17.630651" elapsed="0.000084"/>
</return>
<msg time="2026-05-25T00:35:17.631142" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:17.623768" elapsed="0.007440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:17.632374" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:17.631576" elapsed="0.000974"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:17.633395" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:17.632894" elapsed="0.000529"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:17.633850" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:17.633566" elapsed="0.000317"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:17.634229" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:17.634030" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:17.634620" elapsed="0.000398"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:17.634498" elapsed="0.000562"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:17.635707" level="FAIL">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</msg>
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:17.635310" elapsed="0.000489">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="FAIL" start="2026-05-25T00:35:17.635167" elapsed="0.000740">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="FAIL" start="2026-05-25T00:35:17.634339" elapsed="0.001669">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</for>
<arg>${links}</arg>
<status status="FAIL" start="2026-05-25T00:35:17.606854" elapsed="0.029267">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:19.645845" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:19.647828" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3128'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:19.648051" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:19.637873" elapsed="0.010223"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.651703" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.648409" elapsed="0.003491"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.656752" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:19.655970" elapsed="0.000827"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:19.656878" elapsed="0.000055"/>
</return>
<msg time="2026-05-25T00:35:19.657197" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:19.652301" elapsed="0.004996"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.657972" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.657519" elapsed="0.000557"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:19.658668" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.658315" elapsed="0.000395"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:19.659296" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.658923" elapsed="0.000417"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:19.659907" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.659556" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:19.660532" elapsed="0.000405"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:19.660339" elapsed="0.000640"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:19.661195" elapsed="0.000343"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:19.661076" elapsed="0.000501"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:19.661788" elapsed="0.000322"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</var>
<status status="PASS" start="2026-05-25T00:35:19.661670" elapsed="0.000480"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:19.662417" elapsed="0.000347"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</var>
<status status="PASS" start="2026-05-25T00:35:19.662297" elapsed="0.000507"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-05-25T00:35:19.660072" elapsed="0.002763"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-05-25T00:35:19.636964" elapsed="0.025927"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Verify Links</arg>
<arg>${links}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:15.583472" elapsed="4.079466"/>
</kw>
<doc>List all the links in the topology.</doc>
<status status="PASS" start="2026-05-25T00:35:15.571308" elapsed="4.091763"/>
</test>
<test id="s1-s1-s2-t3" name="Link Down" line="52">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.665615" level="INFO">link s1 s2 down</msg>
<arg>link s1 s2 down</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:19.663837" elapsed="0.001840"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.669527" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:19.665829" elapsed="0.003758"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.670073" level="INFO">${links} = [{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}, {'link-id': 'openflow:1:2', '...</msg>
<var>${links}</var>
<arg>${link2}</arg>
<arg>${link4}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:19.669730" elapsed="0.000372"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:19.679943" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:19.680211" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3128'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:19.680388" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:19.671112" elapsed="0.009320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.683834" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.680697" elapsed="0.003344"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.688348" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:19.687466" elapsed="0.000927"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:19.688458" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:35:19.688694" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:19.684409" elapsed="0.004313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.689166" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.688868" elapsed="0.000382"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:19.689623" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.689395" elapsed="0.000257"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:19.690029" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.689796" elapsed="0.000261"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:19.690420" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.690198" elapsed="0.000249"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:19.690793" elapsed="0.000351"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:19.690673" elapsed="0.000512"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:19.691656" elapsed="0.000380"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</var>
<status status="PASS" start="2026-05-25T00:35:19.691298" elapsed="0.000778"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-05-25T00:35:19.690512" elapsed="0.001596"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-05-25T00:35:19.670801" elapsed="0.021363"/>
</kw>
<arg>60s</arg>
<arg>2s</arg>
<arg>Verify Links</arg>
<arg>${links}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:19.670279" elapsed="0.021930"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.705525" level="INFO">sh ovs-vsctl find Interface name="s1-eth1"</msg>
<arg>sh ovs-vsctl find Interface name="s1-eth1"</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:19.692366" elapsed="0.013266"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.730522" level="INFO">_uuid               : 440b0d0d-6c01-4af3-a7db-e5a40e079121
admin_state         : down
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 4
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 5
link_speed          : 10000000000
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "d6:ef:ae:5e:41:47"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=952, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=11, tx_bytes=952, tx_dropped=0, tx_errors=0, tx_packets=11}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-05-25T00:35:19.730640" level="INFO">${output} = _uuid               : 440b0d0d-6c01-4af3-a7db-e5a40e079121
admin_state         : down
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:19.705785" elapsed="0.024883"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.731088" level="INFO">_uuid               : 440b0d0d-6c01-4af3-a7db-e5a40e079121
admin_state         : down
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 4
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 5
link_speed          : 10000000000
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "d6:ef:ae:5e:41:47"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=952, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=11, tx_bytes=952, tx_dropped=0, tx_errors=0, tx_packets=11}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.730820" elapsed="0.000326"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.732794" level="INFO">sh ovs-vsctl find Interface name="s1-eth2"</msg>
<arg>sh ovs-vsctl find Interface name="s1-eth2"</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:19.731296" elapsed="0.001555"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.750920" level="INFO">_uuid               : 5d115b5a-ff49-4fcb-a417-068660490e03
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 6
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : 10000000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "56:2e:8a:14:10:1e"
mtu                 : 1500
mtu_request         : []
name                : s1-eth2
ofport              : 2
ofport_request      : 2
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=601, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=7, tx_bytes=601, tx_dropped=0, tx_errors=0, tx_packets=7}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-05-25T00:35:19.751031" level="INFO">${output} = _uuid               : 5d115b5a-ff49-4fcb-a417-068660490e03
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_c...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:19.733002" elapsed="0.018056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.751495" level="INFO">_uuid               : 5d115b5a-ff49-4fcb-a417-068660490e03
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 6
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : 10000000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "56:2e:8a:14:10:1e"
mtu                 : 1500
mtu_request         : []
name                : s1-eth2
ofport              : 2
ofport_request      : 2
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=601, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=7, tx_bytes=601, tx_dropped=0, tx_errors=0, tx_packets=7}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.751203" elapsed="0.000351"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-05-25T00:35:19.663410" elapsed="0.088270"/>
</test>
<test id="s1-s1-s2-t4" name="Link Up" line="69">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.753811" level="INFO">link s1 s2 up</msg>
<arg>link s1 s2 up</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:19.752620" elapsed="0.001250"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:19.762219" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:19.754018" elapsed="0.008278"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.762853" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${link1}</arg>
<arg>${link2}</arg>
<arg>${link3}</arg>
<arg>${link4}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:19.762442" elapsed="0.000483"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:19.771657" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:19.773107" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2812'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:19.773274" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:19.764016" elapsed="0.009288"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.775746" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.773509" elapsed="0.002305"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.778723" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:19.778170" elapsed="0.000588"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:19.778878" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:35:19.779100" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:19.776042" elapsed="0.003087"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.779677" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:19.779292" elapsed="0.000535"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:19.780401" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.780039" elapsed="0.000403"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:19.780981" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.780655" elapsed="0.000367"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:19.781551" level="INFO">${links} = [{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:19.781230" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:19.782838" level="FAIL">'[{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}'</msg>
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:19.782151" elapsed="0.000820">'[{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}'</status>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="FAIL" start="2026-05-25T00:35:19.781953" elapsed="0.001132">'[{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}'</status>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="FAIL" start="2026-05-25T00:35:19.781708" elapsed="0.001473">'[{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}'</status>
</for>
<arg>${links}</arg>
<status status="FAIL" start="2026-05-25T00:35:19.763671" elapsed="0.019740">'[{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}'</status>
</kw>
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:21.798295" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node019pysi32kzgydminimeep8lhc1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:21.798907" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3128'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:21.799136" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:21.786303" elapsed="0.012908"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:21.802569" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:21.799485" elapsed="0.003302"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:21.807048" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:21.806302" elapsed="0.000789"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:21.807254" elapsed="0.000060"/>
</return>
<msg time="2026-05-25T00:35:21.807558" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:21.803105" elapsed="0.004481"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:21.808060" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:21.807725" elapsed="0.000406"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:21.808549" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:21.808314" elapsed="0.000264"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:21.808956" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:21.808722" elapsed="0.000261"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:21.809346" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:21.809125" elapsed="0.000249"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.809726" elapsed="0.000347"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:21.809605" elapsed="0.000508"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.810353" elapsed="0.000321"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:21.810216" elapsed="0.000497"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.810922" elapsed="0.000364"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</var>
<status status="PASS" start="2026-05-25T00:35:21.810806" elapsed="0.000522"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.811586" elapsed="0.000324"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</var>
<status status="PASS" start="2026-05-25T00:35:21.811465" elapsed="0.000485"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-05-25T00:35:21.809442" elapsed="0.002539"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-05-25T00:35:21.785133" elapsed="0.026904"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Verify Links</arg>
<arg>${links}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:19.763092" elapsed="2.048989"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-05-25T00:35:19.752142" elapsed="2.060065"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:21.813081" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:21.812999" elapsed="0.000156"/>
</kw>
<doc>Test suite for RESTCONF Topology</doc>
<status status="PASS" start="2026-05-25T00:35:15.492703" elapsed="6.320486"/>
</suite>
<suite id="s1-s1-s3" name="030 Restconf Statistics" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF10/030_restconf_statistics.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:21.846541" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d140542550&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:21.846182" elapsed="0.000548"/>
</kw>
<test id="s1-s1-s3-t1" name="Get Stats for all nodes" line="20">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:21.876325" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:21.878701" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01g6j4l7cxpama1u1f483tiae1w2.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:21 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"19","active-flows":1,"packets-matched":"12"},"flow":[{"id":"#UF$TABLE*0-2","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"12","byte-count":"970","duration":{"second":6,"nanosecond":154000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"i... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:21.879084" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:21.854163" elapsed="0.024989"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:21.879904" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:21.879345" elapsed="0.000649"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:21.884035" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"19","active-flows":1,"packets-matched":"12"},"flow":[{"id":"#UF$TABLE*0-2","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"12","byte-count":"970","duration":{"second":6,"nanosecond":154000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:19.377Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"0a:46:39:17:ae:ed","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":403000000},"bytes":{"transmitted":"756","received":"756"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"66:0f:80:ea:2f:4a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":404000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"5a:ac:eb:51:e9:74","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":407000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:3e:c2:50:49:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":395000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:19.453Z"}},{"id":"openflow:1","flow-node-inventory:port-number":54694,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"22","active-flows":1,"packets-matched":"14"},"flow":[{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"14","byte-count":"1181","duration":{"second":6,"nanosecond":136000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:19.395Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"d6:ef:ae:5e:41:47","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:49:2f:b5:ca:40","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":402000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"56:2e:8a:14:10:1e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":417000000},"bytes":{"transmitted":"756","received":"756"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:19.438Z"}},{"id":"openflow:2","flow-node-inventory:port-number":54706,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"26","active-flows":1,"packets-matched":"21"},"flow":[{"id":"#UF$TABLE*0-3","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"21","byte-count":"1751","duration":{"second":6,"nanosecond":174000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:19.396Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"66:41:57:ef:69:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"2e:87:03:84:32:4b","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":398000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5e:e4:30:cb:fd:78","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":402000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"7e:ab:f9:78:3b:9a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":402000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:19.446Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:21.880229" elapsed="0.005215"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:21.880033" elapsed="0.005471"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:21.879297" elapsed="0.006240"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:21.885723" elapsed="0.000248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.886454" elapsed="0.003542"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:35:21.886270" elapsed="0.003786"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.890361" elapsed="0.002769"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:35:21.890174" elapsed="0.002998"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.893390" elapsed="0.002448"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:35:21.893270" elapsed="0.002610"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:21.886057" elapsed="0.009854"/>
</for>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:21.853707" elapsed="0.042266"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:21.847525" elapsed="0.048501"/>
</kw>
<doc>Get the stats for all nodes</doc>
<status status="PASS" start="2026-05-25T00:35:21.846808" elapsed="0.049346"/>
</test>
<test id="s1-s1-s3-t2" name="Get Stats for node 1" line="29">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Nodes Stats" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:21.911542" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01g6j4l7cxpama1u1f483tiae1w2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:21.913420" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":54694,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"22","active-flows":1,"packets-matched":"14"},"flow":[{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"14","byte-count":"1181","duration":{"second":6,"nanosecond":136000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"o... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:21.913751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${RFC8040_NODES_API}/node=${node}</arg>
<arg>params=${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:21.901269" elapsed="0.012523"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.914036" elapsed="0.003522"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.917773" elapsed="0.003399"/>
</kw>
<arg>openflow%3A1</arg>
<doc>A GET on the /node/${node} API is made and specific flow stat
strings are checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:21.900942" elapsed="0.020351"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check Nodes Stats</arg>
<arg>openflow%3A1</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:21.896757" elapsed="0.024612"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-05-25T00:35:21.896369" elapsed="0.025170"/>
</test>
<test id="s1-s1-s3-t3" name="Get Stats for node 2" line="33">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Nodes Stats" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:21.938985" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01g6j4l7cxpama1u1f483tiae1w2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:21.942428" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":54706,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"26","active-flows":1,"packets-matched":"21"},"flow":[{"id":"#UF$TABLE*0-3","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"21","byte-count":"1751","duration":{"second":6,"nanosecond":174000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"o... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:21.942938" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${RFC8040_NODES_API}/node=${node}</arg>
<arg>params=${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:21.926315" elapsed="0.016684"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.943424" elapsed="0.004641"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.948210" elapsed="0.002292"/>
</kw>
<arg>openflow%3A2</arg>
<doc>A GET on the /node/${node} API is made and specific flow stat
strings are checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:21.925996" elapsed="0.024572"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check Nodes Stats</arg>
<arg>openflow%3A2</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:21.922566" elapsed="0.028051"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-05-25T00:35:21.921932" elapsed="0.028798"/>
</test>
<test id="s1-s1-s3-t4" name="Get Stats for node 3" line="37">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Nodes Stats" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:21.969129" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01g6j4l7cxpama1u1f483tiae1w2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:21.972590" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":54696,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"19","active-flows":1,"packets-matched":"12"},"flow":[{"id":"#UF$TABLE*0-2","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"12","byte-count":"970","duration":{"second":6,"nanosecond":154000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"op... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:21.973060" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${RFC8040_NODES_API}/node=${node}</arg>
<arg>params=${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:21.954792" elapsed="0.018327"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.973504" elapsed="0.005236"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:21.979060" elapsed="0.002749"/>
</kw>
<arg>openflow%3A3</arg>
<doc>A GET on the /node/${node} API is made and specific flow stat
strings are checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:21.954494" elapsed="0.027385"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check Nodes Stats</arg>
<arg>openflow%3A3</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:21.951417" elapsed="0.030512"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-05-25T00:35:21.950979" elapsed="0.031067"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:21.982649" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:21.982569" elapsed="0.000157"/>
</kw>
<doc>Test suite for RESTCONF statistics</doc>
<status status="PASS" start="2026-05-25T00:35:21.814458" elapsed="0.168301"/>
</suite>
<suite id="s1-s1-s4" name="040 Restconf Frm" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF10/040_restconf_frm.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:22.014405" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d140510950&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:22.014005" elapsed="0.000591"/>
</kw>
<test id="s1-s1-s4-t1" name="Add a flow - Output to physical port#" line="21">
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:22.045809" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Content-Length': '506', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;flow-name&gt;Foo&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.20.1/32&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;id&gt;152&lt;/id&gt;&lt;table_id&gt;0&lt;/table_id&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;openflow:1:1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:22.046006" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:22 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:22.046293" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=152</arg>
<arg>headers=${HEADERS_XML}</arg>
<arg>data=${BODY2}</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:22.015141" elapsed="0.031217"/>
</kw>
<doc>Push a flow through REST-API</doc>
<status status="PASS" start="2026-05-25T00:35:22.014679" elapsed="0.031977"/>
</test>
<test id="s1-s1-s4-t2" name="Verify after adding flow config - Output to physical port#" line="29">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:22.062910" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:22.063757" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '342'} 
 body={"flow-node-inventory:table":[{"id":0,"flow":[{"id":"152","flow-name":"Foo","match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"table_id":0,"priority":2,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"output-node-connector":"openflow:1:1"}}]}}]}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:22.064055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0?content=config</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:22.048447" elapsed="0.015667"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>152</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:22.064506" elapsed="0.004609"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:22.047356" elapsed="0.022048"/>
</test>
<test id="s1-s1-s4-t3" name="Verify after adding flow operational - Output to physical port#" line="37">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:22.071564" level="INFO">${elements} = ['10.0.20.1']</msg>
<var>${elements}</var>
<arg>10.0.20.1</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:22.071003" elapsed="0.000588"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:22.081814" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:22.082206" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '242'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-05-25T00:35:22.082488" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:22.075385" elapsed="0.007168"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:22.083574" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:22.082767" elapsed="0.000950"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:22.088449" level="INFO">{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:22.084078" elapsed="0.004446"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:22.083780" elapsed="0.004796"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:22.082713" elapsed="0.005897"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:22.089136" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig Expected status: 409 != 200</msg>
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="FAIL" start="2026-05-25T00:35:22.088793" elapsed="0.001015">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig Expected status: 409 != 200</status>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:22.090208" elapsed="0.000052"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-05-25T00:35:22.090019" elapsed="0.000296"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-05-25T00:35:22.089921" elapsed="0.000436"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.20.1'] is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:22.074876" elapsed="0.015634">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig Expected status: 409 != 200</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:24.105096" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:24.105364" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '242'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-05-25T00:35:24.105559" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:24.097825" elapsed="0.007774"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:24.106267" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:24.105754" elapsed="0.000600"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:24.109476" level="INFO">{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:24.106611" elapsed="0.002935"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:24.106392" elapsed="0.003204"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:24.105714" elapsed="0.003915"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:24.110099" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig Expected status: 409 != 200</msg>
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="FAIL" start="2026-05-25T00:35:24.109802" elapsed="0.000884">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig Expected status: 409 != 200</status>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:24.111066" elapsed="0.000030"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-05-25T00:35:24.110876" elapsed="0.000270"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-05-25T00:35:24.110792" elapsed="0.000392"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.20.1'] is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:24.097057" elapsed="0.014281">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig Expected status: 409 != 200</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:26.128862" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:26.129545" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '517'} 
 body={"flow-node-inventory:flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""}]} 
 </msg>
<msg time="2026-05-25T00:35:26.129681" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:26.119434" elapsed="0.010279"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:26.130206" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:26.129820" elapsed="0.000468"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:26.132471" level="INFO">{"flow-node-inventory:flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:26.130450" elapsed="0.002076"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:26.130315" elapsed="0.002248"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:26.129794" elapsed="0.002792"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:26.132712" elapsed="0.000179"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:26.133228" elapsed="0.002435"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-05-25T00:35:26.133091" elapsed="0.002632"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:26.132951" elapsed="0.002816"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.20.1'] is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:26.118229" elapsed="0.017617"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=152?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:22.071750" elapsed="4.064169"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:22.069957" elapsed="4.066138"/>
</test>
<test id="s1-s1-s4-t4" name="Remove a flow - Output to physical port#" line="47">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:26.153722" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:26.153816" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:26.154017" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=152</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:26.137011" elapsed="0.017047"/>
</kw>
<doc>Remove a flow</doc>
<status status="PASS" start="2026-05-25T00:35:26.136488" elapsed="0.017771"/>
</test>
<test id="s1-s1-s4-t5" name="Verify after deleting flow config - Output to physical port#" line="54">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:26.162529" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:26.162789" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '40'} 
 body={"flow-node-inventory:table":[{"id":0}]} 
 </msg>
<msg time="2026-05-25T00:35:26.162962" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0?content=config</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:26.155144" elapsed="0.007856"/>
</kw>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>152</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:26.163306" elapsed="0.003358"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:26.154531" elapsed="0.012302"/>
</test>
<test id="s1-s1-s4-t6" name="Verify after deleting flow operational - Output to physical port#" line="63">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:26.168363" level="INFO">${elements} = ['10.0.20.1']</msg>
<var>${elements}</var>
<arg>10.0.20.1</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:26.167954" elapsed="0.000448"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements Not At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:26.185801" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:26.189942" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '1098'} 
 body={"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]} 
 </msg>
<msg time="2026-05-25T00:35:26.190103" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:26.177220" elapsed="0.012921"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:26.190700" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:26.190285" elapsed="0.000496"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:26.194033" level="INFO">{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:26.190990" elapsed="0.003123"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:26.190817" elapsed="0.003346"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:26.190230" elapsed="0.003965"/>
</if>
<if>
<branch type="IF" condition="&quot;${check_for_null}&quot; == &quot;True&quot;">
<if>
<branch type="IF" condition="${resp.status_code} == 404 or ${resp.status_code} == 409">
<return>
<status status="NOT RUN" start="2026-05-25T00:35:26.194544" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:26.194490" elapsed="0.000112"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:26.194468" elapsed="0.000165"/>
</if>
<status status="NOT RUN" start="2026-05-25T00:35:26.194299" elapsed="0.000358"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:26.194273" elapsed="0.000405"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:26.194797" elapsed="0.000172"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:26.197520" level="FAIL">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:26.195306" elapsed="0.002302">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-05-25T00:35:26.195162" elapsed="0.002530">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-05-25T00:35:26.195026" elapsed="0.002762">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${uri} and every item in the list of
['10.0.20.1'] is verified to NOT exist in the response. If ${check_for_null} is True
return of 404 is treated as empty list. From Neon onwards, an empty list is always
returned as null, giving 404 on rest call.</doc>
<status status="FAIL" start="2026-05-25T00:35:26.176718" elapsed="0.021198">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</kw>
<kw name="Check For Elements Not At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:28.219284" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:28.219568" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '1098'} 
 body={"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]} 
 </msg>
<msg time="2026-05-25T00:35:28.219693" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:28.209863" elapsed="0.009859"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:28.220185" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:28.219825" elapsed="0.000440"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:28.224484" level="INFO">{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:28.220431" elapsed="0.004185"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:28.220294" elapsed="0.004405"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:28.219799" elapsed="0.004952"/>
</if>
<if>
<branch type="IF" condition="&quot;${check_for_null}&quot; == &quot;True&quot;">
<if>
<branch type="IF" condition="${resp.status_code} == 404 or ${resp.status_code} == 409">
<return>
<status status="NOT RUN" start="2026-05-25T00:35:28.225337" elapsed="0.000046"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:28.225188" elapsed="0.000259"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:28.225153" elapsed="0.000344"/>
</if>
<status status="NOT RUN" start="2026-05-25T00:35:28.224884" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:28.224845" elapsed="0.000750"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:28.225868" elapsed="0.000421"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:28.230887" level="FAIL">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:28.227020" elapsed="0.003968">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-05-25T00:35:28.226733" elapsed="0.004337">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-05-25T00:35:28.226434" elapsed="0.004704">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${uri} and every item in the list of
['10.0.20.1'] is verified to NOT exist in the response. If ${check_for_null} is True
return of 404 is treated as empty list. From Neon onwards, an empty list is always
returned as null, giving 404 on rest call.</doc>
<status status="FAIL" start="2026-05-25T00:35:28.208894" elapsed="0.022379">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"33","active-flows":2,"packets-matched":"25"},"flow":[{"id":"152","table_id":0,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":382000000}},"flags":""},{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"25","byte-count":"2092","duration":{"second":12,"nanosecond":228000000}},"flags":"SEND_FLOW_REM"}]}]}' contains '10.0.20.1'</status>
</kw>
<kw name="Check For Elements Not At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:30.252826" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node014o2ifs5lh2541t30zob53w8yg3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:30.253985" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '611'} 
 body={"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"35","active-flows":1,"packets-matched":"27"},"flow":[{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"27","byte-count":"2262","duration":{"second":15,"nanosecond":269000000}},"flags":"SEND_FLOW_REM"}]}]} 
 </msg>
<msg time="2026-05-25T00:35:30.254158" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:30.243748" elapsed="0.010440"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:30.254662" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:30.254308" elapsed="0.000416"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:30.257056" level="INFO">{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"35","active-flows":1,"packets-matched":"27"},"flow":[{"id":"#UF$TABLE*0-1","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"27","byte-count":"2262","duration":{"second":15,"nanosecond":269000000}},"flags":"SEND_FLOW_REM"}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:30.254890" elapsed="0.002219"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:30.254752" elapsed="0.002393"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:30.254283" elapsed="0.002885"/>
</if>
<if>
<branch type="IF" condition="&quot;${check_for_null}&quot; == &quot;True&quot;">
<if>
<branch type="IF" condition="${resp.status_code} == 404 or ${resp.status_code} == 409">
<return>
<status status="NOT RUN" start="2026-05-25T00:35:30.257434" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:30.257385" elapsed="0.000094"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:30.257369" elapsed="0.000133"/>
</if>
<status status="NOT RUN" start="2026-05-25T00:35:30.257228" elapsed="0.000297"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:30.257209" elapsed="0.000337"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:30.257676" elapsed="0.000212"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:30.258367" elapsed="0.003140"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-05-25T00:35:30.258161" elapsed="0.003409"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:30.257969" elapsed="0.003646"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${uri} and every item in the list of
['10.0.20.1'] is verified to NOT exist in the response. If ${check_for_null} is True
return of 404 is treated as empty list. From Neon onwards, an empty list is always
returned as null, giving 404 on rest call.</doc>
<status status="PASS" start="2026-05-25T00:35:30.242879" elapsed="0.018819"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements Not At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:26.168621" elapsed="4.093151"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:26.167212" elapsed="4.094741"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:30.262855" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:30.262735" elapsed="0.000232"/>
</kw>
<doc>Test suite for RESTCONF FRM</doc>
<status status="PASS" start="2026-05-25T00:35:21.983575" elapsed="8.279441"/>
</suite>
<kw name="Stop Mininet" owner="Utils" type="TEARDOWN">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:30.265719" level="INFO">Stop the test on the base edition</msg>
<arg>Stop the test on the base edition</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:30.265376" elapsed="0.000411"/>
</kw>
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn_id}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:35:30.265937" elapsed="0.000151"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-05-25T00:35:30.266219" elapsed="0.000166"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:30.269064" level="INFO">exit</msg>
<arg>exit</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:30.266513" elapsed="0.002609"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:30.519962" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 6 links
......
*** Stopping 3 switches
s1 s2 s3 
*** Stopping 4 hosts
h1 h2 h3 h4 
*** Done
completed in 18.705 seconds
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${prompt}</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:30.269282" elapsed="0.250819"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:30.520369" elapsed="0.000265"/>
</kw>
<doc>Cleanup/Shutdown work that should be done at the completion of all
tests</doc>
<status status="PASS" start="2026-05-25T00:35:30.264617" elapsed="0.256089"/>
</kw>
<doc>Test suite for MD-SAL NSF</doc>
<status status="PASS" start="2026-05-25T00:35:08.712280" elapsed="21.808468"/>
</suite>
<suite id="s1-s2" name="MD SAL NSF OF13" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF13">
<kw name="Start Mininet" owner="Utils" type="SETUP">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:30.555840" level="INFO">Start the test on the base edition</msg>
<arg>Start the test on the base edition</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:30.555578" elapsed="0.000318"/>
</kw>
<kw name="Clean Mininet System" owner="Utils">
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:30.558201" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:30.557919" elapsed="0.000358"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:30.557895" elapsed="0.000411"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:30.558617" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:35:30.558729" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:35:30.558439" elapsed="0.000387"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:30.559380" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:30.558958" elapsed="0.000484"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:30.559966" level="INFO">${conn_id} = 6</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:30.559577" elapsed="0.000418"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:30.560881" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:30.560960" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:30.560546" elapsed="0.000438"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:30.561118" elapsed="0.000366"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:30.562311" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:30.882275" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:11 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:30.561971" elapsed="0.320494"/>
</kw>
<msg time="2026-05-25T00:35:30.882582" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:30.561631" elapsed="0.321058"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:30.560188" elapsed="0.322661"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:30.883500" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-05-25T00:35:32.039992" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:35:32.040473" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:35:32.040579" level="INFO">${stderr} = *** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec iv...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:30.883136" elapsed="1.157503"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:32.041061" elapsed="0.000698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:32.042771" level="INFO">*** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
killall -9 controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
pkill -9 -f "sudo mnexec"
*** Removing junk from /tmp
rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log
*** Removing old X11 tunnels
*** Removing excess kernel datapaths
ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/'
***  Removing OVS datapaths
ovs-vsctl --timeout=1 list-br
ovs-vsctl --timeout=1 list-br
*** Removing all links of the pattern foo-ethX
ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'
ip link show
*** Killing stale mininet node processes
pkill -9 -f mininet:
*** Shutting down stale tunnels
pkill -9 -f Tunnel=Ethernet
pkill -9 -f .ssh/mn
rm -f ~/.ssh/mn/*
*** Cleanup complete.</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:32.042087" elapsed="0.000805"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:32.043581" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:32.043270" elapsed="0.000422"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:32.043191" elapsed="0.000554"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:35:32.044097" elapsed="0.000091"/>
</return>
<status status="PASS" start="2026-05-25T00:35:32.043864" elapsed="0.000428"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:32.043830" elapsed="0.000519"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:32.044428" elapsed="0.000033"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.049034" elapsed="0.000363"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:32.049541" elapsed="0.000174"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:32.049834" elapsed="0.000100"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:35:32.045095" elapsed="0.004894"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:35:30.557408" elapsed="1.492768"/>
</kw>
<msg time="2026-05-25T00:35:32.050251" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:30.556808" elapsed="1.493502"/>
</kw>
<arg>${system}</arg>
<arg>sudo mn -c</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:30.556342" elapsed="1.494053"/>
</kw>
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:32.052318" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:32.052042" elapsed="0.000334"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:32.052022" elapsed="0.000379"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.052670" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:35:32.052777" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:35:32.052524" elapsed="0.000280"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:32.053325" level="INFO">Attempting to execute command "sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:32.052926" elapsed="0.000446"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.053870" level="INFO">${conn_id} = 8</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:32.053499" elapsed="0.000397"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:32.054701" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:32.054779" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:32.054414" elapsed="0.000389"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.054932" elapsed="0.000336"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.056055" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:32.385884" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:30 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:32.055739" elapsed="0.330323"/>
</kw>
<msg time="2026-05-25T00:35:32.386152" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.055411" elapsed="0.330857"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:32.054081" elapsed="0.332322"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.386947" level="INFO">Executing command 'sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh'.</msg>
<msg time="2026-05-25T00:35:32.419288" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-05-25T00:35:32.419573" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:35:32.419670" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:32.386655" elapsed="0.033066"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:32.420094" elapsed="0.000576"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:32.421669" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:32.421005" elapsed="0.000761"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:32.422381" elapsed="0.000043"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:32.421942" elapsed="0.000556"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:32.421888" elapsed="0.000661"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:35:32.422907" elapsed="0.000065"/>
</return>
<status status="PASS" start="2026-05-25T00:35:32.422668" elapsed="0.000377"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:32.422634" elapsed="0.000463"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:32.423171" elapsed="0.000031"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.427981" elapsed="0.000798"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:32.428933" elapsed="0.000171"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:32.429223" elapsed="0.000118"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:35:32.423848" elapsed="0.005547"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:35:32.051554" elapsed="0.377937"/>
</kw>
<msg time="2026-05-25T00:35:32.429547" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.050979" elapsed="0.378623"/>
</kw>
<arg>${system}</arg>
<arg>sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:32.050546" elapsed="0.379136"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:30.556053" elapsed="1.873687"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.430281" level="INFO">${mininet_conn_id} = 10</msg>
<var>${mininet_conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:32.429878" elapsed="0.000432"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:32.430803" level="INFO">${mininet_conn_id} = 10</msg>
<arg>${mininet_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:32.430466" elapsed="0.000379"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:32.432515" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:32.432593" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:32.432212" elapsed="0.000406"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.432748" elapsed="0.000319"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.433871" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:32.790510" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:32 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:32.433552" elapsed="0.357152"/>
</kw>
<msg time="2026-05-25T00:35:32.790806" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.433208" elapsed="0.357684"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:32.431782" elapsed="0.359258"/>
</kw>
<msg time="2026-05-25T00:35:32.791097" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:32.431418" elapsed="0.359728"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:32.431019" elapsed="0.360206"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.792091" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-05-25T00:35:32.814828" level="INFO">Command exited with return code 0.</msg>
<arg>sudo ovs-vsctl set-manager ptcp:6644</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:32.791500" elapsed="0.023504"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:32.857523" level="INFO">sudo mn --controller=remote,ip=10.30.170.7 --topo tree,2 --switch ovsk,protocols=OpenFlow13</msg>
<arg>${start}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:32.815559" elapsed="0.042111"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:33.104525" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.170.7:6653
*** Adding hosts:
h1 h2 h3 h4 
*** Adding switches:
s1 s2 s3 
*** Adding links:
(s1, s2) (s1, s3) (s2, h1) (s2, h2) (s3, h3) (s3, h4) 
*** Configuring hosts
h1 h2 h3 h4 
*** Starting controller
c0 
*** Starting 3 switches
s1 s2 s3 ...
*** Starting CLI:
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:32.857936" elapsed="0.246801"/>
</kw>
<doc>Basic setup/cleanup work that can be done safely before any system
is run.</doc>
<status status="PASS" start="2026-05-25T00:35:30.555099" elapsed="2.549756"/>
</kw>
<suite id="s1-s2-s1" name="010 Restconf Inventory" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF13/010_restconf_inventory.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:33.142028" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d140519310&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:33.141650" elapsed="0.000571"/>
</kw>
<test id="s1-s2-s1-t1" name="Get list of nodes" line="30">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:33.159880" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:33.160051" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Set-Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:33 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '242'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-05-25T00:35:33.160322" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:33.149673" elapsed="0.010681"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:33.160978" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:33.160478" elapsed="0.000594"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:33.163459" level="INFO">{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:33.161315" elapsed="0.002194"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:33.161115" elapsed="0.002430"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:33.160444" elapsed="0.003125"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:33.163971" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 409 != 200</msg>
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="FAIL" start="2026-05-25T00:35:33.163695" elapsed="0.000731">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 409 != 200</status>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:33.164738" elapsed="0.000021"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-05-25T00:35:33.164601" elapsed="0.000195"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-05-25T00:35:33.164526" elapsed="0.000307"/>
</for>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:33.149208" elapsed="0.015784">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 409 != 200</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.203343" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.207776" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":4000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:35.208370" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.178099" elapsed="0.030337"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.209443" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.208670" elapsed="0.000907"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.215548" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":4000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.295Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"82:9a:d6:a6:d2:63","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"175","received":"175"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"06:b0:5f:d3:e9:c4","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"175","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:26:08:3e:10:dd","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"261","received":"180"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"12:72:26:24:12:45","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":234000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.330Z"}},{"id":"openflow:1","flow-node-inventory:port-number":41820,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-7","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":11000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.302Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":265000000},"bytes":{"transmitted":"261","received":"175"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"fa:39:ee:02:49:48","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":252000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"9e:16:57:51:28:80","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":265000000},"bytes":{"transmitted":"175","received":"175"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.330Z"}},{"id":"openflow:2","flow-node-inventory:port-number":41840,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"4","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-6","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":5000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.296Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"261"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"6e:1e:82:de:62:4d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":228000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:88:a1:de:06:5a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"176"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"92:9a:62:4b:f8:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"266"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.326Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.209930" elapsed="0.006829"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.209639" elapsed="0.007158"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.208612" elapsed="0.008209"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.216953" elapsed="0.000181"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.217518" elapsed="0.002731"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:35:35.217370" elapsed="0.002923"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.220499" elapsed="0.002415"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:35:35.220378" elapsed="0.002578"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.223211" elapsed="0.002384"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:35:35.223039" elapsed="0.002597"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.217198" elapsed="0.008469"/>
</for>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.177547" elapsed="0.048182"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:33.142770" elapsed="2.083010"/>
</kw>
<doc>Get the inventory</doc>
<status status="PASS" start="2026-05-25T00:35:33.142328" elapsed="2.083581"/>
</test>
<test id="s1-s2-s1-t2" name="Check No Link Down" line="39">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Specific Number Of Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.254580" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.255719" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":4000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:35.256216" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.236263" elapsed="0.020056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.262065" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":4000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.295Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"82:9a:d6:a6:d2:63","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"175","received":"175"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"06:b0:5f:d3:e9:c4","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"175","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:26:08:3e:10:dd","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"261","received":"180"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"12:72:26:24:12:45","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":234000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.330Z"}},{"id":"openflow:1","flow-node-inventory:port-number":41820,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-7","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":11000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.302Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":265000000},"bytes":{"transmitted":"261","received":"175"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"fa:39:ee:02:49:48","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":252000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"9e:16:57:51:28:80","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":265000000},"bytes":{"transmitted":"175","received":"175"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.330Z"}},{"id":"openflow:2","flow-node-inventory:port-number":41840,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"4","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-6","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":5000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.296Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"261"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"6e:1e:82:de:62:4d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":228000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:88:a1:de:06:5a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"176"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"92:9a:62:4b:f8:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"266"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.326Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.256688" elapsed="0.007530"/>
</kw>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.264375" elapsed="0.000177"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.267247" level="INFO">Item found from container 8 times.</msg>
<arg>${resp.text}</arg>
<arg>${element}</arg>
<arg>${expected_count}</arg>
<doc>Fails if ``container`` does not contain ``item`` ``count`` times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.264699" elapsed="0.003024"/>
</kw>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>"link-down":false</arg>
<arg>8</arg>
<doc>A GET is made to the specified ${URI} and the specific count of a
given element is done (as supplied by ${element} and ${expected_count})</doc>
<status status="PASS" start="2026-05-25T00:35:35.235868" elapsed="0.031927"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Specific Number Of Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>"link-down":false</arg>
<arg>8</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.226582" elapsed="0.041268"/>
</kw>
<doc>Check there is no link down. We have 8 ports in total: s1=2, s2=3, s3=3.</doc>
<status status="PASS" start="2026-05-25T00:35:35.226110" elapsed="0.041867"/>
</test>
<test id="s1-s2-s1-t3" name="Get node 1 inventory" line="49">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.269000" level="INFO">${list} = ['"flow-node-inventory:flow-feature-capability-flow-stats"', '"flow-node-inventory:flow-feature-capability-table-stats"', '"flow-node-inventory:flow-feature-capability-port-stats"', '"flow-node-invent...</msg>
<var>${list}</var>
<arg>@{SW_CAPABILITIES}</arg>
<arg>${SW_VENDOR}</arg>
<arg>${SW_IPADDRESS}</arg>
<arg>${SW_HARDWARE}</arg>
<arg>openflow:1:1</arg>
<arg>openflow:1:2</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:35.268565" elapsed="0.000464"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.288992" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.290839" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":41820,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-7","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":11000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"openday... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:35.291119" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.276116" elapsed="0.015054"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.291722" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.291316" elapsed="0.000471"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.294416" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":41820,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-7","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":11000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.302Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":265000000},"bytes":{"transmitted":"261","received":"175"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"fa:39:ee:02:49:48","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":252000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"9e:16:57:51:28:80","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":265000000},"bytes":{"transmitted":"175","received":"175"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.330Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.291962" elapsed="0.002830"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.291817" elapsed="0.003012"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.291279" elapsed="0.003572"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.294976" elapsed="0.000217"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.295552" elapsed="0.002367"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.295417" elapsed="0.002545"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.298166" elapsed="0.002362"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.298047" elapsed="0.002523"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.300772" elapsed="0.002623"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.300653" elapsed="0.002784"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.303640" elapsed="0.002355"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.303520" elapsed="0.002516"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.306252" elapsed="0.002381"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-05-25T00:35:35.306120" elapsed="0.002555"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.308875" elapsed="0.002376"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.87"</var>
<status status="PASS" start="2026-05-25T00:35:35.308757" elapsed="0.002536"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.311496" elapsed="0.002329"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-05-25T00:35:35.311376" elapsed="0.002490"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.314068" elapsed="0.002507"/>
</kw>
<var name="${i}">openflow:1:1</var>
<status status="PASS" start="2026-05-25T00:35:35.313949" elapsed="0.002667"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.316817" elapsed="0.002368"/>
</kw>
<var name="${i}">openflow:1:2</var>
<status status="PASS" start="2026-05-25T00:35:35.316698" elapsed="0.002528"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.295273" elapsed="0.023998"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.275605" elapsed="0.043727"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.269194" elapsed="0.050190"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-05-25T00:35:35.268168" elapsed="0.051341"/>
</test>
<test id="s1-s2-s1-t4" name="Get node 2 inventory" line="60">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.320655" level="INFO">${list} = ['"flow-node-inventory:flow-feature-capability-flow-stats"', '"flow-node-inventory:flow-feature-capability-table-stats"', '"flow-node-inventory:flow-feature-capability-port-stats"', '"flow-node-invent...</msg>
<var>${list}</var>
<arg>@{SW_CAPABILITIES}</arg>
<arg>${SW_VENDOR}</arg>
<arg>${SW_IPADDRESS}</arg>
<arg>${SW_HARDWARE}</arg>
<arg>openflow:2:1</arg>
<arg>openflow:2:2</arg>
<arg>openflow:2:3</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:35.320194" elapsed="0.000490"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.343327" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.345138" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":41840,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"4","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-6","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":5000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendayl... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:35.345423" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.327625" elapsed="0.017827"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.345908" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.345555" elapsed="0.000413"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.348557" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":41840,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"4","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-6","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":5000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.296Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"261"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"6e:1e:82:de:62:4d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":228000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:88:a1:de:06:5a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"176"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"92:9a:62:4b:f8:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":237000000},"bytes":{"transmitted":"175","received":"266"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.326Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.346131" elapsed="0.002822"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.345995" elapsed="0.002995"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.345527" elapsed="0.003487"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.349138" elapsed="0.000190"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.349656" elapsed="0.002400"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.349527" elapsed="0.002570"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.352316" elapsed="0.002351"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.352181" elapsed="0.002528"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.354912" elapsed="0.002367"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.354792" elapsed="0.002529"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.357524" elapsed="0.002362"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.357404" elapsed="0.002523"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.360128" elapsed="0.002514"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-05-25T00:35:35.360009" elapsed="0.002674"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.362884" elapsed="0.002367"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.87"</var>
<status status="PASS" start="2026-05-25T00:35:35.362765" elapsed="0.002529"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.365496" elapsed="0.002357"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-05-25T00:35:35.365377" elapsed="0.002516"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.368099" elapsed="0.002414"/>
</kw>
<var name="${i}">openflow:2:1</var>
<status status="PASS" start="2026-05-25T00:35:35.367981" elapsed="0.002574"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.370758" elapsed="0.002379"/>
</kw>
<var name="${i}">openflow:2:2</var>
<status status="PASS" start="2026-05-25T00:35:35.370637" elapsed="0.002541"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.373395" elapsed="0.002481"/>
</kw>
<var name="${i}">openflow:2:3</var>
<status status="PASS" start="2026-05-25T00:35:35.373274" elapsed="0.002643"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.349390" elapsed="0.026557"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A2?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.327095" elapsed="0.048911"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A2?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.320855" elapsed="0.055201"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-05-25T00:35:35.319806" elapsed="0.056377"/>
</test>
<test id="s1-s2-s1-t5" name="Get node 3 inventory" line="71">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.377209" level="INFO">${list} = ['"flow-node-inventory:flow-feature-capability-flow-stats"', '"flow-node-inventory:flow-feature-capability-table-stats"', '"flow-node-inventory:flow-feature-capability-port-stats"', '"flow-node-invent...</msg>
<var>${list}</var>
<arg>@{SW_CAPABILITIES}</arg>
<arg>${SW_VENDOR}</arg>
<arg>${SW_IPADDRESS}</arg>
<arg>${SW_HARDWARE}</arg>
<arg>openflow:3:1</arg>
<arg>openflow:3:2</arg>
<arg>openflow:3:3</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:35.376774" elapsed="0.000589"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.397573" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.398727" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":4000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendayl... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:35.399170" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.384342" elapsed="0.014874"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.399928" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.399399" elapsed="0.000641"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.403950" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"2","active-flows":1,"packets-matched":"1"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":4000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:33.295Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"82:9a:d6:a6:d2:63","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"175","received":"175"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"06:b0:5f:d3:e9:c4","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"175","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:26:08:3e:10:dd","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":243000000},"bytes":{"transmitted":"261","received":"180"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"12:72:26:24:12:45","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":234000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:33.330Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.400313" elapsed="0.004299"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.400083" elapsed="0.004587"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.399356" elapsed="0.005349"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.404896" elapsed="0.000260"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.405690" elapsed="0.003649"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.405497" elapsed="0.003905"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.409706" elapsed="0.003117"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.409529" elapsed="0.003336"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.413070" elapsed="0.002437"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.412949" elapsed="0.002601"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.415753" elapsed="0.002328"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-05-25T00:35:35.415634" elapsed="0.002488"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.418351" elapsed="0.002393"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-05-25T00:35:35.418205" elapsed="0.002582"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.420995" elapsed="0.002581"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.87"</var>
<status status="PASS" start="2026-05-25T00:35:35.420870" elapsed="0.002748"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.423822" elapsed="0.002510"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-05-25T00:35:35.423701" elapsed="0.002673"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.426577" elapsed="0.002412"/>
</kw>
<var name="${i}">openflow:3:1</var>
<status status="PASS" start="2026-05-25T00:35:35.426456" elapsed="0.002574"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.429246" elapsed="0.002421"/>
</kw>
<var name="${i}">openflow:3:2</var>
<status status="PASS" start="2026-05-25T00:35:35.429112" elapsed="0.002596"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.431908" elapsed="0.002411"/>
</kw>
<var name="${i}">openflow:3:3</var>
<status status="PASS" start="2026-05-25T00:35:35.431790" elapsed="0.002574"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.405288" elapsed="0.029107"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.383825" elapsed="0.050632"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.377543" elapsed="0.056966"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-05-25T00:35:35.376395" elapsed="0.058248"/>
</test>
<test id="s1-s2-s1-t6" name="Link Down" line="82">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:35.437677" level="INFO">link s1 s2 down</msg>
<arg>link s1 s2 down</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:35.435456" elapsed="0.002279"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:35.442056" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:35.437905" elapsed="0.004290"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.443270" level="INFO">@{list} = [ "link-down":true ]</msg>
<var>@{list}</var>
<arg>"link-down":true</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:35.442557" elapsed="0.000778"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.459448" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.460012" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '618'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]} 
 </msg>
<msg time="2026-05-25T00:35:35.460283" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.453033" elapsed="0.007291"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.460957" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.460467" elapsed="0.000574"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.464248" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.461284" elapsed="0.003042"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.461080" elapsed="0.003297"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.460431" elapsed="0.003977"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.464585" elapsed="0.000246"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.465322" elapsed="0.002898"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-05-25T00:35:35.465115" elapsed="0.003164"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.464920" elapsed="0.003394"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.452485" elapsed="0.015889"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.443690" elapsed="0.024738"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.481598" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.482114" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '618'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]} 
 </msg>
<msg time="2026-05-25T00:35:35.482259" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.475396" elapsed="0.006893"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.482752" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.482395" elapsed="0.000419"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.485468" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"PORT-DOWN","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.482994" elapsed="0.002527"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.482842" elapsed="0.002714"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.482368" elapsed="0.003211"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.485702" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.486202" elapsed="0.002360"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-05-25T00:35:35.486072" elapsed="0.002551"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.485935" elapsed="0.002735"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.474852" elapsed="0.013903"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.468603" elapsed="0.020229"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-05-25T00:35:35.435005" elapsed="0.054014"/>
</test>
<test id="s1-s2-s1-t7" name="Link Up" line="100">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:35.492145" level="INFO">link s1 s2 up</msg>
<arg>link s1 s2 up</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:35.490138" elapsed="0.002089"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:35.495701" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:35.492456" elapsed="0.003323"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.496276" level="INFO">@{list} = [ "link-down":false ]</msg>
<var>@{list}</var>
<arg>"link-down":false</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:35.495969" elapsed="0.000336"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.510427" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.510944" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '609'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]} 
 </msg>
<msg time="2026-05-25T00:35:35.511082" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.503279" elapsed="0.007832"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.511597" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.511216" elapsed="0.000443"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.513929" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.511821" elapsed="0.002161"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.511689" elapsed="0.002328"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.511186" elapsed="0.002854"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.514164" elapsed="0.000196"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.514702" elapsed="0.002621"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-05-25T00:35:35.514566" elapsed="0.002818"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.514424" elapsed="0.003008"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.502723" elapsed="0.014794"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.496459" elapsed="0.021134"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.535359" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01ioz9bb22s9mfdzinkputm3vz4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.535861" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/node-connector=openflow%3A2%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '609'} 
 body={"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]} 
 </msg>
<msg time="2026-05-25T00:35:35.535981" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.527551" elapsed="0.008457"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.536467" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.536102" elapsed="0.000495"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.538845" level="INFO">{"opendaylight-inventory:node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.536760" elapsed="0.002137"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.536627" elapsed="0.002305"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.536077" elapsed="0.002879"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.539166" elapsed="0.000205"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.539695" elapsed="0.003158"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-05-25T00:35:35.539567" elapsed="0.003344"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.539430" elapsed="0.003526"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.526796" elapsed="0.016239"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A2/node-connector=openflow%3A2%3A3?${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>${list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.517833" elapsed="0.025297"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-05-25T00:35:35.489571" elapsed="0.053754"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:35.544203" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:35.544087" elapsed="0.000237"/>
</kw>
<doc>Test suite for RESTCONF inventory</doc>
<status status="PASS" start="2026-05-25T00:35:33.104956" elapsed="2.439416"/>
</suite>
<suite id="s1-s2-s2" name="020 Restconf Topology" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF13/020_restconf_topology.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:35.576909" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/json'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d13ebefe10&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:35.576585" elapsed="0.000482"/>
</kw>
<test id="s1-s2-s2-t1" name="Get RESTCONF Topology" line="20">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.597530" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.597815" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:35 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2991'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:35:35.598152" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.584124" elapsed="0.014090"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:35.599197" elapsed="0.000088"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:35.598461" elapsed="0.000899"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.604474" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.599720" elapsed="0.004907"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:35.599418" elapsed="0.005287"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:35.598404" elapsed="0.006351"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:35.605027" elapsed="0.000415"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.606141" elapsed="0.003194"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:35:35.605866" elapsed="0.003511"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.609579" elapsed="0.002154"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:35:35.609460" elapsed="0.002314"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.611975" elapsed="0.002105"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:35:35.611856" elapsed="0.002264"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:35.605572" elapsed="0.008578"/>
</for>
<arg>${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:35.583724" elapsed="0.030489"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>${node_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.577601" elapsed="0.036683"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.622338" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.622560" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2991'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:35:35.622738" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.614429" elapsed="0.008337"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.625043" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.622938" elapsed="0.002174"/>
</kw>
<doc>Get RESTCONF Topology and validate the result.</doc>
<status status="PASS" start="2026-05-25T00:35:35.577137" elapsed="0.048114"/>
</test>
<test id="s1-s2-s2-t2" name="List all the links" line="31">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.626388" level="INFO">${body1} = {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:1</arg>
<arg>dest-tp=openflow:1:2</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.626025" elapsed="0.000392"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.626876" level="INFO">${body2} = {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:3</arg>
<arg>source-tp=openflow:3:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.626569" elapsed="0.000334"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.627525" level="INFO">${link2} = {'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</msg>
<var>${link2}</var>
<arg>link-id=openflow:3:3</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.627093" elapsed="0.000461"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.628093" level="INFO">${link2} = {'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</msg>
<arg>${link2}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:35.627718" elapsed="0.000436"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.628808" level="INFO">${body1} = {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:1</arg>
<arg>dest-tp=openflow:1:1</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.628383" elapsed="0.000462"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.629490" level="INFO">${body2} = {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:2</arg>
<arg>source-tp=openflow:2:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.629051" elapsed="0.000476"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.630315" level="INFO">${link1} = {'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</msg>
<var>${link1}</var>
<arg>link-id=openflow:2:3</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.629739" elapsed="0.000615"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.631014" level="INFO">${link1} = {'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</msg>
<arg>${link1}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:35.630565" elapsed="0.000533"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.631741" level="INFO">${body1} = {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:3</arg>
<arg>dest-tp=openflow:3:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.631318" elapsed="0.000460"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.632421" level="INFO">${body2} = {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:1</arg>
<arg>source-tp=openflow:1:2</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.631982" elapsed="0.000476"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.633297" level="INFO">${link4} = {'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</msg>
<var>${link4}</var>
<arg>link-id=openflow:1:2</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.632715" elapsed="0.000623"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.633991" level="INFO">${link4} = {'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</msg>
<arg>${link4}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:35.633553" elapsed="0.000497"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.634695" level="INFO">${body1} = {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}</msg>
<var>${body1}</var>
<arg>dest-node=openflow:2</arg>
<arg>dest-tp=openflow:2:3</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.634269" elapsed="0.000463"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.635420" level="INFO">${body2} = {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}</msg>
<var>${body2}</var>
<arg>source-node=openflow:1</arg>
<arg>source-tp=openflow:1:1</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.634938" elapsed="0.000519"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.636138" level="INFO">${link3} = {'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</msg>
<var>${link3}</var>
<arg>link-id=openflow:1:1</arg>
<arg>destination=${body1}</arg>
<arg>source=${body2}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.635662" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.636640" level="INFO">${link3} = {'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</msg>
<arg>${link3}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:35.636333" elapsed="0.000349"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.637207" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${link1}</arg>
<arg>${link2}</arg>
<arg>${link3}</arg>
<arg>${link4}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:35.636821" elapsed="0.000433"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:35.648270" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:35.648608" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2970'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:35.648802" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:35.640305" elapsed="0.008535"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.652155" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.649077" elapsed="0.003260"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.656517" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:35.655793" elapsed="0.000767"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:35.656637" elapsed="0.000060"/>
</return>
<msg time="2026-05-25T00:35:35.656943" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:35.652630" elapsed="0.004352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.657611" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:35.657177" elapsed="0.000535"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:35.658289" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.657911" elapsed="0.000422"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:35.658860" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.658537" elapsed="0.000361"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:35.659425" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:35.659132" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:35.659999" elapsed="0.000570"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:35.659813" elapsed="0.000825"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:35.661614" level="FAIL">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</msg>
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:35.661012" elapsed="0.000724">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="FAIL" start="2026-05-25T00:35:35.660802" elapsed="0.001119">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="FAIL" start="2026-05-25T00:35:35.659550" elapsed="0.002470">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</for>
<arg>${links}</arg>
<status status="FAIL" start="2026-05-25T00:35:35.639957" elapsed="0.022249">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:37.674501" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:37.674832" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2970'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:37.675012" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:37.664142" elapsed="0.010908"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:37.678408" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:37.675314" elapsed="0.003260"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:37.683541" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:37.681958" elapsed="0.001634"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:37.683692" elapsed="0.000058"/>
</return>
<msg time="2026-05-25T00:35:37.683997" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:37.678860" elapsed="0.005177"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:37.684734" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:37.684256" elapsed="0.000579"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:37.685378" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:37.685033" elapsed="0.000385"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:37.685938" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:37.685619" elapsed="0.000357"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:37.686482" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:37.686174" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:37.686992" elapsed="0.000505"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:37.686824" elapsed="0.000729"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:37.688759" level="FAIL">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</msg>
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:37.687852" elapsed="0.001015">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="FAIL" start="2026-05-25T00:35:37.687687" elapsed="0.001325">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="FAIL" start="2026-05-25T00:35:37.686605" elapsed="0.002497">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</for>
<arg>${links}</arg>
<status status="FAIL" start="2026-05-25T00:35:37.663122" elapsed="0.026140">'[{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]' does not contain '{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}'</status>
</kw>
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:39.705152" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:39.705807" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3128'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:39.706160" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:39.691137" elapsed="0.015091"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.711313" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.706676" elapsed="0.004829"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.715663" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:39.714878" elapsed="0.000829"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:39.715784" elapsed="0.000056"/>
</return>
<msg time="2026-05-25T00:35:39.716084" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:39.711792" elapsed="0.004330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.716779" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.716343" elapsed="0.000534"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:39.717419" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.717077" elapsed="0.000382"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:39.718089" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.717679" elapsed="0.000452"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:39.718661" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.718357" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.719168" elapsed="0.000523"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.718998" elapsed="0.000750"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.720050" elapsed="0.000475"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.719881" elapsed="0.000708"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.720891" elapsed="0.000467"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.720724" elapsed="0.000690"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.721827" elapsed="0.000395"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.721597" elapsed="0.000680"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-05-25T00:35:39.718785" elapsed="0.003526"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-05-25T00:35:39.690178" elapsed="0.032190"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Verify Links</arg>
<arg>${links}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:35.637414" elapsed="4.084999"/>
</kw>
<doc>List all the links in the topology.</doc>
<status status="PASS" start="2026-05-25T00:35:35.625579" elapsed="4.096961"/>
</test>
<test id="s1-s2-s2-t3" name="Link Down" line="52">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.725688" level="INFO">link s1 s2 down</msg>
<arg>link s1 s2 down</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:39.723202" elapsed="0.002580"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.791774" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:39.725962" elapsed="0.065952"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.792661" level="INFO">${links} = [{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}, {'link-id': 'openflow:1:2', '...</msg>
<var>${links}</var>
<arg>${link2}</arg>
<arg>${link4}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:39.792154" elapsed="0.000553"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:39.801743" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:39.802094" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2812'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:39.802303" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:39.793846" elapsed="0.008495"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.805999" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.802556" elapsed="0.003607"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.810316" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:39.809567" elapsed="0.000793"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:39.810436" elapsed="0.000055"/>
</return>
<msg time="2026-05-25T00:35:39.810723" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:39.806470" elapsed="0.004291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.811435" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.810957" elapsed="0.000572"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:39.812044" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.811726" elapsed="0.000361"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:39.812625" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.812311" elapsed="0.000352"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:39.813130" level="INFO">${links} = [{'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:2', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.812859" elapsed="0.000310"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.813649" elapsed="0.000555"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.813482" elapsed="0.000816"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.814637" elapsed="0.000464"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.814451" elapsed="0.000707"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-05-25T00:35:39.813271" elapsed="0.001931"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-05-25T00:35:39.793472" elapsed="0.021838"/>
</kw>
<arg>60s</arg>
<arg>2s</arg>
<arg>Verify Links</arg>
<arg>${links}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:39.792879" elapsed="0.022492"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.819849" level="INFO">sh ovs-vsctl find Interface name="s1-eth1"</msg>
<arg>sh ovs-vsctl find Interface name="s1-eth1"</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:39.815578" elapsed="0.004355"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.846429" level="INFO">_uuid               : 2fe4a91b-f95a-4a03-b662-5d0a4bcf7dbb
admin_state         : down
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 16
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 3
link_speed          : 10000000000
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "66:12:ce:03:83:76"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=1112, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=13, tx_bytes=1202, tx_dropped=0, tx_errors=0, tx_packets=14}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-05-25T00:35:39.846621" level="INFO">${output} = _uuid               : 2fe4a91b-f95a-4a03-b662-5d0a4bcf7dbb
admin_state         : down
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:39.820119" elapsed="0.026531"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.847086" level="INFO">_uuid               : 2fe4a91b-f95a-4a03-b662-5d0a4bcf7dbb
admin_state         : down
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 16
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 3
link_speed          : 10000000000
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "66:12:ce:03:83:76"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=1112, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=13, tx_bytes=1202, tx_dropped=0, tx_errors=0, tx_packets=14}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.846807" elapsed="0.000337"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.848927" level="INFO">sh ovs-vsctl find Interface name="s1-eth2"</msg>
<arg>sh ovs-vsctl find Interface name="s1-eth2"</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:39.847297" elapsed="0.001688"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.875314" level="INFO">_uuid               : 98f64ae1-4e67-4349-ad77-c4c327157bf5
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 18
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : 10000000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "9e:16:57:51:28:80"
mtu                 : 1500
mtu_request         : []
name                : s1-eth2
ofport              : 2
ofport_request      : 2
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=601, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=7, tx_bytes=601, tx_dropped=0, tx_errors=0, tx_packets=7}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-05-25T00:35:39.875470" level="INFO">${output} = _uuid               : 98f64ae1-4e67-4349-ad77-c4c327157bf5
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_c...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:39.849133" elapsed="0.026366"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.876013" level="INFO">_uuid               : 98f64ae1-4e67-4349-ad77-c4c327157bf5
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {}
ifindex             : 18
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : 10000000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "9e:16:57:51:28:80"
mtu                 : 1500
mtu_request         : []
name                : s1-eth2
ofport              : 2
ofport_request      : 2
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=601, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=0, rx_over_err=0, rx_packets=7, tx_bytes=601, tx_dropped=0, tx_errors=0, tx_packets=7}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.875694" elapsed="0.000379"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-05-25T00:35:39.722844" elapsed="0.153355"/>
</test>
<test id="s1-s2-s2-t4" name="Link Up" line="69">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.879075" level="INFO">link s1 s2 up</msg>
<arg>link s1 s2 up</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:39.876820" elapsed="0.002317"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:39.892436" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:39.879458" elapsed="0.013205"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.894152" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${link1}</arg>
<arg>${link2}</arg>
<arg>${link3}</arg>
<arg>${link4}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:39.893040" elapsed="0.001165"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:39.906564" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01cghfv1ilso5v19yku1hfal8kp5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:39.907010" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3128'} 
 body={"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:39.907214" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:39.896125" elapsed="0.011154"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.911532" level="INFO">{"network-topology:topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"},{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:1:1","dest-node":"openflow:1"}},{"link-id":"openflow:3:3","source":{"source-node":"openflow:3","source-tp":"openflow:3:3"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:1:1","source":{"source-node":"openflow:1","source-tp":"openflow:1:1"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:3:3","dest-node":"openflow:3"}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.907567" elapsed="0.004090"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.916595" level="INFO">${json_data} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${json_data}</var>
<arg>json.loads('''${plain_string_with_json}''')</arg>
<arg>json</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:35:39.915692" elapsed="0.001026"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-05-25T00:35:39.916807" elapsed="0.000060"/>
</return>
<msg time="2026-05-25T00:35:39.917173" level="INFO">${result} = {'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']",...</msg>
<var>${result}</var>
<arg>${resp.text}</arg>
<doc>Parse given plain string into json (dictionary)</doc>
<status status="PASS" start="2026-05-25T00:35:39.912010" elapsed="0.005214"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.918115" level="INFO">{'network-topology:topology': [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id': 'openflow:2:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"}, {'tp-id': 'openflow:2:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"}, {'tp-id': 'openflow:2:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"}, {'tp-id': 'openflow:2:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]}, {'node-id': 'openflow:3', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']", 'termination-point': [{'tp-id': 'openflow:3:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}, {'tp-id': 'openflow:3:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"}, {'tp-id': 'openflow:3:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"}, {'tp-id': 'openflow:3:3', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:3']"}]}, {'node-id': 'openflow:1', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']", 'termination-point': [{'tp-id': 'openflow:1:2', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"}, {'tp-id': 'openflow:1:LOCAL', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"}, {'tp-id': 'openflow:1:1', 'opendaylight-topology-inventory:inventory-node-connector-ref': "/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}], 'link': [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}, 'destination': {'dest-tp': 'openflow:1:2', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:1:1', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}, 'destination': {'dest-tp': 'openflow:2:3', 'dest-node': 'openflow:2'}}, {'link-id': 'openflow:1:2', 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}, 'destination': {'dest-tp': 'openflow:3:3', 'dest-node': 'openflow:3'}}]}]}</msg>
<arg>${result}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.917473" elapsed="0.000754"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:39.918844" level="INFO">${content} = [{'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id...</msg>
<var>${content}</var>
<arg>${result}</arg>
<arg>network-topology:topology</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.918469" elapsed="0.000418"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-05-25T00:35:39.919549" level="INFO">${topology} = {'topology-id': 'flow:1', 'node': [{'node-id': 'openflow:2', 'opendaylight-topology-inventory:inventory-node-ref': "/opendaylight-inventory:nodes/node[id='openflow:2']", 'termination-point': [{'tp-id'...</msg>
<var>${topology}</var>
<arg>${content}</arg>
<arg>0</arg>
<doc>Returns the value specified with an ``index`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.919104" elapsed="0.000504"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:35:39.920127" level="INFO">${links} = [{'link-id': 'openflow:2:3', 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}, 'destination': {'dest-tp': 'openflow:1:1', 'dest-node': 'openflow:1'}}, {'link-id': 'openflow:3:3', '...</msg>
<var>${links}</var>
<arg>${topology}</arg>
<arg>link</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:35:39.919830" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.920802" elapsed="0.000585"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:2:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:1'}, 'source': {'source-node': 'openflow:2', 'source-tp': 'openflow:2:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.920612" elapsed="0.000839"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.921973" elapsed="0.000591"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:3:3', 'destination': {'dest-node': 'openflow:1', 'dest-tp': 'openflow:1:2'}, 'source': {'source-node': 'openflow:3', 'source-tp': 'openflow:3:3'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.921632" elapsed="0.000999"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.922958" elapsed="0.000561"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:1', 'destination': {'dest-node': 'openflow:2', 'dest-tp': 'openflow:2:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:1'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.922781" elapsed="0.000814"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${links}</arg>
<arg>${expected_link}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.923923" elapsed="0.000540"/>
</kw>
<var name="${expected_link}">{'link-id': 'openflow:1:2', 'destination': {'dest-node': 'openflow:3', 'dest-tp': 'openflow:3:3'}, 'source': {'source-node': 'openflow:1', 'source-tp': 'openflow:1:2'}}</var>
<status status="PASS" start="2026-05-25T00:35:39.923743" elapsed="0.000798"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-05-25T00:35:39.920325" elapsed="0.004345"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-05-25T00:35:39.895623" elapsed="0.029146"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Verify Links</arg>
<arg>${links}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:39.894652" elapsed="0.030185"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-05-25T00:35:39.876445" elapsed="0.048586"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:39.926719" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:39.926296" elapsed="0.000539"/>
</kw>
<doc>Test suite for RESTCONF Topology</doc>
<status status="PASS" start="2026-05-25T00:35:35.545484" elapsed="4.381403"/>
</suite>
<suite id="s1-s2-s3" name="030 Restconf Statistics" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF13/030_restconf_statistics.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:39.962890" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d13ec17dd0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:39.962512" elapsed="0.000563"/>
</kw>
<test id="s1-s2-s3-t1" name="Get Stats for all nodes" line="20">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:39.987652" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:39.989293" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node0170601zf14vq11815eqmshan216.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:39 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"19","active-flows":1,"packets-matched":"18"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"18","byte-count":"1478","duration":{"second":6,"nanosecond":56000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"i... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:39.989572" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:39.970568" elapsed="0.019034"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:39.990160" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:39.989759" elapsed="0.000466"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:39.992807" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"19","active-flows":1,"packets-matched":"18"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"18","byte-count":"1478","duration":{"second":6,"nanosecond":56000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:39.346Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"82:9a:d6:a6:d2:63","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":295000000},"bytes":{"transmitted":"756","received":"756"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"06:b0:5f:d3:e9:c4","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":295000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:26:08:3e:10:dd","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":295000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"12:72:26:24:12:45","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":286000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:39.374Z"}},{"id":"openflow:1","flow-node-inventory:port-number":41820,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"22","active-flows":1,"packets-matched":"21"},"flow":[{"id":"#UF$TABLE*0-7","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"21","byte-count":"1778","duration":{"second":6,"nanosecond":40000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:39.338Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:12:ce:03:83:76","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"fa:39:ee:02:49:48","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":300000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"9e:16:57:51:28:80","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":313000000},"bytes":{"transmitted":"756","received":"756"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:39.385Z"}},{"id":"openflow:2","flow-node-inventory:port-number":41840,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"25","active-flows":1,"packets-matched":"22"},"flow":[{"id":"#UF$TABLE*0-6","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"22","byte-count":"1841","duration":{"second":6,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:39.334Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:maximum-speed":0,"flow-node-inventory:reason":"update","flow-node-inventory:configuration":"","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"c2:57:c9:c7:1a:53","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:supported":"","flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"6e:1e:82:de:62:4d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":284000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:88:a1:de:06:5a","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":293000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"92:9a:62:4b:f8:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"9","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":6,"nanosecond":293000000},"bytes":{"transmitted":"756","received":"586"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:39.382Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:39.990418" elapsed="0.003520"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:39.990274" elapsed="0.003706"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:39.989726" elapsed="0.004278"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:39.994134" elapsed="0.000200"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.994685" elapsed="0.002637"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:35:39.994549" elapsed="0.002816"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:39.997572" elapsed="0.002477"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:35:39.997451" elapsed="0.002641"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.000316" elapsed="0.002431"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:35:40.000176" elapsed="0.002618"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:39.994398" elapsed="0.008428"/>
</for>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:39.970117" elapsed="0.032778"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>${node_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:39.963623" elapsed="0.039342"/>
</kw>
<doc>Get the stats for all nodes</doc>
<status status="PASS" start="2026-05-25T00:35:39.963156" elapsed="0.039976"/>
</test>
<test id="s1-s2-s3-t2" name="Get Stats for node 1" line="29">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Nodes Stats" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.021741" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0170601zf14vq11815eqmshan216.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:40.025282" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":41820,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"22","active-flows":1,"packets-matched":"21"},"flow":[{"id":"#UF$TABLE*0-7","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"21","byte-count":"1778","duration":{"second":6,"nanosecond":40000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"op... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:40.025799" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${RFC8040_NODES_API}/node=${node}</arg>
<arg>params=${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:40.008323" elapsed="0.017539"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.026215" elapsed="0.004514"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.030881" elapsed="0.002271"/>
</kw>
<arg>openflow%3A1</arg>
<doc>A GET on the /node/${node} API is made and specific flow stat
strings are checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:40.007980" elapsed="0.025242"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check Nodes Stats</arg>
<arg>openflow%3A1</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:40.004228" elapsed="0.029060"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-05-25T00:35:40.003655" elapsed="0.029754"/>
</test>
<test id="s1-s2-s3-t3" name="Get Stats for node 2" line="33">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Nodes Stats" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.049583" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0170601zf14vq11815eqmshan216.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:40.053200" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":41840,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"25","active-flows":1,"packets-matched":"22"},"flow":[{"id":"#UF$TABLE*0-6","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"22","byte-count":"1841","duration":{"second":6,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"op... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:40.053747" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${RFC8040_NODES_API}/node=${node}</arg>
<arg>params=${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:40.038310" elapsed="0.015517"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.054225" elapsed="0.004556"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.058935" elapsed="0.002292"/>
</kw>
<arg>openflow%3A2</arg>
<doc>A GET on the /node/${node} API is made and specific flow stat
strings are checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:40.037969" elapsed="0.023343"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check Nodes Stats</arg>
<arg>openflow%3A2</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:40.034387" elapsed="0.026977"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-05-25T00:35:40.033864" elapsed="0.027625"/>
</test>
<test id="s1-s2-s3-t4" name="Get Stats for node 3" line="37">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Nodes Stats" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.078446" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0170601zf14vq11815eqmshan216.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:40.079490" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":41828,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"19","active-flows":1,"packets-matched":"18"},"flow":[{"id":"#UF$TABLE*0-5","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"18","byte-count":"1478","duration":{"second":6,"nanosecond":56000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"op... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:40.080013" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${RFC8040_NODES_API}/node=${node}</arg>
<arg>params=${RFC8040_OPERATIONAL_CONTENT}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:40.066028" elapsed="0.014048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.080522" elapsed="0.004292"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.085048" elapsed="0.003474"/>
</kw>
<arg>openflow%3A3</arg>
<doc>A GET on the /node/${node} API is made and specific flow stat
strings are checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:40.065678" elapsed="0.022960"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check Nodes Stats</arg>
<arg>openflow%3A3</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:40.062327" elapsed="0.026387"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-05-25T00:35:40.061817" elapsed="0.027083"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:40.089841" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:40.089702" elapsed="0.000247"/>
</kw>
<doc>Test suite for RESTCONF statistics</doc>
<status status="PASS" start="2026-05-25T00:35:39.928154" elapsed="0.161974"/>
</suite>
<suite id="s1-s2-s4" name="040 Restconf Frm" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/MD_SAL_NSF_OF13/040_restconf_frm.robot">
<kw name="Create Session" owner="RequestsLibrary" type="SETUP">
<msg time="2026-05-25T00:35:40.124202" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d13ebd3850&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:40.123837" elapsed="0.000567"/>
</kw>
<test id="s1-s2-s4-t1" name="Add a flow - Sending IPv4 Dest Address and Eth type" line="23">
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.146150" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Content-Length': '429', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;flow-name&gt;Foo&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.10.1/32&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:40.146361" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:40 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:40.146667" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139</arg>
<arg>headers=${HEADERS_XML}</arg>
<arg>data=${BODY1}</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:40.125095" elapsed="0.021638"/>
</kw>
<doc>Push a flow through REST-API</doc>
<status status="PASS" start="2026-05-25T00:35:40.124486" elapsed="0.022558"/>
</test>
<test id="s1-s2-s4-t2" name="Verify after adding flow config - Sending IPv4 Dest Address and Eth type" line="31">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.158431" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:40.159120" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '301'} 
 body={"flow-node-inventory:table":[{"id":2,"flow":[{"id":"139","flow-name":"Foo","match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"table_id":2,"priority":2,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:40.159395" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=config</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:40.148793" elapsed="0.010670"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>139</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:40.159858" elapsed="0.004395"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:40.147705" elapsed="0.016715"/>
</test>
<test id="s1-s2-s4-t3" name="Verify after adding flow operational - Sending IPv4 Dest Address and Eth type" line="39">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:40.165687" level="INFO">${elements} = ['10.0.10.1']</msg>
<var>${elements}</var>
<arg>10.0.10.1</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:40.165276" elapsed="0.000451"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.180381" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:40.180559" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '242'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-05-25T00:35:40.180657" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:40.171065" elapsed="0.009619"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:40.181082" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:40.180776" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:40.184846" level="INFO">{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:40.181314" elapsed="0.003644"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:40.181170" elapsed="0.003868"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:40.180750" elapsed="0.004341"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:40.185901" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig Expected status: 409 != 200</msg>
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="FAIL" start="2026-05-25T00:35:40.185403" elapsed="0.001347">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig Expected status: 409 != 200</status>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:40.187425" elapsed="0.000055"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-05-25T00:35:40.187053" elapsed="0.000512"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-05-25T00:35:40.186916" elapsed="0.000712"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.10.1'] is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:40.170406" elapsed="0.017440">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig Expected status: 409 != 200</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:42.203118" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:42.203339" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '242'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-05-25T00:35:42.203490" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:42.195173" elapsed="0.008356"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:42.204093" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:42.203660" elapsed="0.000520"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:42.207426" level="INFO">{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:42.204417" elapsed="0.003094"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:42.204216" elapsed="0.003350"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:42.203628" elapsed="0.003973"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:42.208113" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig Expected status: 409 != 200</msg>
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="FAIL" start="2026-05-25T00:35:42.207794" elapsed="0.001312">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig Expected status: 409 != 200</status>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:42.209631" elapsed="0.000032"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-05-25T00:35:42.209406" elapsed="0.000308"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-05-25T00:35:42.209286" elapsed="0.000466"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.10.1'] is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:42.194393" elapsed="0.015505">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig Expected status: 409 != 200</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:44.228482" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:44.229007" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '472'} 
 body={"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]} 
 </msg>
<msg time="2026-05-25T00:35:44.229129" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:44.218718" elapsed="0.010440"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:44.229595" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:44.229271" elapsed="0.000382"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:44.231807" level="INFO">{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:44.229807" elapsed="0.002052"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:44.229680" elapsed="0.002215"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:44.229232" elapsed="0.002686"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:44.232042" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:44.232597" elapsed="0.002758"/>
</kw>
<var name="${i}">10.0.10.1</var>
<status status="PASS" start="2026-05-25T00:35:44.232464" elapsed="0.002955"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:44.232325" elapsed="0.003141"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.10.1'] is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:44.217578" elapsed="0.017974"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:40.165946" elapsed="4.069686"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:40.164668" elapsed="4.071147"/>
</test>
<test id="s1-s2-s4-t4" name="Modify a flow - Output to physical port#" line="49">
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:44.250217" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Content-Length': '522', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;flow-name&gt;Foo&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.20.1/32&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:44.250367" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:44.250554" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139</arg>
<arg>headers=${HEADERS_XML}</arg>
<arg>data=${BODY2}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:44.236920" elapsed="0.013675"/>
</kw>
<doc>Push a flow through REST-API</doc>
<status status="PASS" start="2026-05-25T00:35:44.236089" elapsed="0.014720"/>
</test>
<test id="s1-s2-s4-t5" name="Verify after modifying flow config - Output to physical port#" line="58">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:44.258739" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:44.259269" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '347'} 
 body={"flow-node-inventory:table":[{"id":2,"flow":[{"id":"139","flow-name":"Foo","match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"table_id":2,"priority":2,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]}}]}]} 
 </msg>
<msg time="2026-05-25T00:35:44.259427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=config</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:44.252297" elapsed="0.007170"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>10.0.20.1</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:44.259725" elapsed="0.003231"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:44.251261" elapsed="0.011873"/>
</test>
<test id="s1-s2-s4-t6" name="Verify after modifying flow operational - Output to physical port#" line="66">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:44.264941" level="INFO">${elements} = ['10.0.20.1']</msg>
<var>${elements}</var>
<arg>10.0.20.1</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:44.264480" elapsed="0.000503"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:44.275721" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:44.275846" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '472'} 
 body={"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]} 
 </msg>
<msg time="2026-05-25T00:35:44.275944" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:44.270231" elapsed="0.005740"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:44.276420" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:44.276062" elapsed="0.000417"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:44.279304" level="INFO">{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:44.276628" elapsed="0.002752"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:44.276505" elapsed="0.002927"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:44.276038" elapsed="0.003427"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:44.279644" elapsed="0.000250"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:44.283886" level="FAIL">'{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}' does not contain '10.0.20.1'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:44.280395" elapsed="0.003602">'{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}' does not contain '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-05-25T00:35:44.280177" elapsed="0.003930">'{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}' does not contain '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-05-25T00:35:44.279980" elapsed="0.004218">'{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}' does not contain '10.0.20.1'</status>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.20.1'] is verified to exist in the response</doc>
<status status="FAIL" start="2026-05-25T00:35:44.269757" elapsed="0.014733">'{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":241000000}},"flags":""}]}' does not contain '10.0.20.1'</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:46.299043" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:46.299610" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '518'} 
 body={"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]} 
 </msg>
<msg time="2026-05-25T00:35:46.299728" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:46.290934" elapsed="0.008822"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:46.300174" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:46.299855" elapsed="0.000378"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:46.302416" level="INFO">{"flow-node-inventory:flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:46.300403" elapsed="0.002066"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:46.300275" elapsed="0.002230"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:46.299831" elapsed="0.002697"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:46.302653" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:46.303160" elapsed="0.002580"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-05-25T00:35:46.303028" elapsed="0.002795"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:46.302890" elapsed="0.002985"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
['10.0.20.1'] is verified to exist in the response</doc>
<status status="PASS" start="2026-05-25T00:35:46.290104" elapsed="0.015859"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:44.265216" elapsed="2.040822"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:44.263533" elapsed="2.042686"/>
</test>
<test id="s1-s2-s4-t7" name="Remove a flow - Output to physical port#" line="76">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:46.321135" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:46.321201" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:46.321425" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2/flow=139</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:46.307039" elapsed="0.014448"/>
</kw>
<doc>Remove a flow</doc>
<status status="PASS" start="2026-05-25T00:35:46.306510" elapsed="0.015234"/>
</test>
<test id="s1-s2-s4-t8" name="Verify after deleting flow config - Output to physical port#" line="83">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:46.332139" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:46.332459" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '40'} 
 body={"flow-node-inventory:table":[{"id":2}]} 
 </msg>
<msg time="2026-05-25T00:35:46.332610" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=config</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:46.323062" elapsed="0.009588"/>
</kw>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>139</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:46.332907" elapsed="0.002992"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:46.322119" elapsed="0.013954"/>
</test>
<test id="s1-s2-s4-t9" name="Verify after deleting flow operational - Output to physical port#" line="91">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:35:46.337633" level="INFO">${elements} = ['10.0.20.1']</msg>
<var>${elements}</var>
<arg>10.0.20.1</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:35:46.337173" elapsed="0.000505"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check For Elements Not At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:46.353145" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:46.353779" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '661'} 
 body={"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]} 
 </msg>
<msg time="2026-05-25T00:35:46.353894" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:46.345815" elapsed="0.008108"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:46.354383" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:46.354021" elapsed="0.000427"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:46.356968" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:46.354613" elapsed="0.002412"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:46.354476" elapsed="0.002586"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:46.353995" elapsed="0.003091"/>
</if>
<if>
<branch type="IF" condition="&quot;${check_for_null}&quot; == &quot;True&quot;">
<if>
<branch type="IF" condition="${resp.status_code} == 404 or ${resp.status_code} == 409">
<return>
<status status="NOT RUN" start="2026-05-25T00:35:46.357345" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:46.357304" elapsed="0.000086"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:46.357286" elapsed="0.000128"/>
</if>
<status status="NOT RUN" start="2026-05-25T00:35:46.357148" elapsed="0.000290"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:46.357129" elapsed="0.000331"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:46.357584" elapsed="0.000176"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:46.360331" level="FAIL">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:46.358091" elapsed="0.002351">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-05-25T00:35:46.357959" elapsed="0.002591">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-05-25T00:35:46.357820" elapsed="0.002818">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${uri} and every item in the list of
['10.0.20.1'] is verified to NOT exist in the response. If ${check_for_null} is True
return of 404 is treated as empty list. From Neon onwards, an empty list is always
returned as null, giving 404 on rest call.</doc>
<status status="FAIL" start="2026-05-25T00:35:46.345272" elapsed="0.015511">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<kw name="Check For Elements Not At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:48.381623" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:48.381916" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '661'} 
 body={"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]} 
 </msg>
<msg time="2026-05-25T00:35:48.382115" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:48.372913" elapsed="0.009253"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:48.382986" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:48.382366" elapsed="0.000733"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:48.387418" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:48.383413" elapsed="0.004073"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:48.383148" elapsed="0.004383"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:48.382322" elapsed="0.005237"/>
</if>
<if>
<branch type="IF" condition="&quot;${check_for_null}&quot; == &quot;True&quot;">
<if>
<branch type="IF" condition="${resp.status_code} == 404 or ${resp.status_code} == 409">
<return>
<status status="NOT RUN" start="2026-05-25T00:35:48.387853" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:48.387803" elapsed="0.000104"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:48.387782" elapsed="0.000153"/>
</if>
<status status="NOT RUN" start="2026-05-25T00:35:48.387634" elapsed="0.000330"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:48.387612" elapsed="0.000380"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:48.388147" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:35:48.391604" level="FAIL">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:35:48.388810" elapsed="0.002896">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-05-25T00:35:48.388638" elapsed="0.003165">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-05-25T00:35:48.388467" elapsed="0.003418">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${uri} and every item in the list of
['10.0.20.1'] is verified to NOT exist in the response. If ${check_for_null} is True
return of 404 is treated as empty list. From Neon onwards, an empty list is always
returned as null, giving 404 on rest call.</doc>
<status status="FAIL" start="2026-05-25T00:35:48.372302" elapsed="0.019718">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":1,"packets-matched":"0"},"flow":[{"id":"139","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.20.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":161000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<kw name="Check For Elements Not At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:50.411702" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0ue0z57gidkt45l57g2e0t2087.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:50.411978" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '164'} 
 body={"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}]} 
 </msg>
<msg time="2026-05-25T00:35:50.412100" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:50.404774" elapsed="0.007354"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:35:50.412718" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:50.412265" elapsed="0.000539"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:50.416181" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:50.413031" elapsed="0.003241"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:50.412840" elapsed="0.003484"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:50.412211" elapsed="0.004146"/>
</if>
<if>
<branch type="IF" condition="&quot;${check_for_null}&quot; == &quot;True&quot;">
<if>
<branch type="IF" condition="${resp.status_code} == 404 or ${resp.status_code} == 409">
<return>
<status status="NOT RUN" start="2026-05-25T00:35:50.416689" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:50.416636" elapsed="0.000110"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:35:50.416614" elapsed="0.000162"/>
</if>
<status status="NOT RUN" start="2026-05-25T00:35:50.416448" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:50.416422" elapsed="0.000415"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-05-25T00:35:50.417006" elapsed="0.000262"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:50.417721" elapsed="0.002903"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-05-25T00:35:50.417537" elapsed="0.003145"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-05-25T00:35:50.417350" elapsed="0.003376"/>
</for>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>A GET is made at the supplied ${uri} and every item in the list of
['10.0.20.1'] is verified to NOT exist in the response. If ${check_for_null} is True
return of 404 is treated as empty list. From Neon onwards, an empty list is always
returned as null, giving 404 on rest call.</doc>
<status status="PASS" start="2026-05-25T00:35:50.404171" elapsed="0.016634"/>
</kw>
<arg>10s</arg>
<arg>2s</arg>
<arg>Check For Elements Not At URI</arg>
<arg>${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=2?content=nonconfig</arg>
<arg>${elements}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:46.337934" elapsed="4.082944"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-05-25T00:35:46.336437" elapsed="4.084617"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:35:50.421906" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:35:50.421792" elapsed="0.000212"/>
</kw>
<doc>Test suite for RESTCONF FRM</doc>
<status status="PASS" start="2026-05-25T00:35:40.091464" elapsed="10.330588"/>
</suite>
<kw name="Stop Mininet" owner="Utils" type="TEARDOWN">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:50.423698" level="INFO">Stop the test on the base edition</msg>
<arg>Stop the test on the base edition</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:50.423470" elapsed="0.000274"/>
</kw>
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn_id}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:35:50.423882" elapsed="0.000144"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-05-25T00:35:50.424160" elapsed="0.000157"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:50.427149" level="INFO">exit</msg>
<arg>exit</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:50.424446" elapsed="0.002866"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:50.683821" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 6 links
......
*** Stopping 3 switches
s1 s2 s3 
*** Stopping 4 hosts
h1 h2 h3 h4 
*** Done
completed in 17.764 seconds
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${prompt}</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:50.427638" elapsed="0.256345"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:50.684298" elapsed="0.000275"/>
</kw>
<doc>Cleanup/Shutdown work that should be done at the completion of all
tests</doc>
<status status="PASS" start="2026-05-25T00:35:50.423179" elapsed="0.261471"/>
</kw>
<doc>Test suite for MD-SAL NSF mininet OF13</doc>
<status status="PASS" start="2026-05-25T00:35:30.521688" elapsed="20.163000"/>
</suite>
<suite id="s1-s3" name="Stat Manager extended" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Flows_Additional_TCs/Stat_Manager_extended">
<kw name="Start Mininet" owner="Utils" type="SETUP">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:50.718430" level="INFO">Start the test on the base edition</msg>
<arg>Start the test on the base edition</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:50.718166" elapsed="0.000311"/>
</kw>
<kw name="Clean Mininet System" owner="Utils">
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:50.720656" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:50.720398" elapsed="0.000315"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:50.720374" elapsed="0.000367"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:50.721013" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:35:50.721121" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:35:50.720862" elapsed="0.000286"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:50.721676" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:50.721287" elapsed="0.000436"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:50.722270" level="INFO">${conn_id} = 11</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:50.721854" elapsed="0.000444"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:50.723091" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:50.723169" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:50.722813" elapsed="0.000380"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:50.723340" elapsed="0.000327"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:50.724477" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:51.084403" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:32 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:50.724142" elapsed="0.360440"/>
</kw>
<msg time="2026-05-25T00:35:51.084678" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:50.723809" elapsed="0.360956"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:50.722493" elapsed="0.362392"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:51.085385" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-05-25T00:35:52.302416" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:35:52.302811" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:35:52.302924" level="INFO">${stderr} = *** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec iv...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:51.085114" elapsed="1.217872"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:52.303497" elapsed="0.000579"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:52.305203" level="INFO">*** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
killall -9 controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
pkill -9 -f "sudo mnexec"
*** Removing junk from /tmp
rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log
*** Removing old X11 tunnels
*** Removing excess kernel datapaths
ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/'
***  Removing OVS datapaths
ovs-vsctl --timeout=1 list-br
ovs-vsctl --timeout=1 list-br
*** Removing all links of the pattern foo-ethX
ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'
ip link show
*** Killing stale mininet node processes
pkill -9 -f mininet:
*** Shutting down stale tunnels
pkill -9 -f Tunnel=Ethernet
pkill -9 -f .ssh/mn
rm -f ~/.ssh/mn/*
*** Cleanup complete.</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:52.304474" elapsed="0.000896"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:52.305945" elapsed="0.000156"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:52.305623" elapsed="0.000563"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:52.305502" elapsed="0.000832"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:35:52.306778" elapsed="0.000072"/>
</return>
<status status="PASS" start="2026-05-25T00:35:52.306498" elapsed="0.000434"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:52.306456" elapsed="0.000537"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:52.307077" elapsed="0.000035"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.312000" elapsed="0.000766"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:52.313075" elapsed="0.000381"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:52.313839" elapsed="0.000245"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:35:52.307809" elapsed="0.006472"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:35:50.719890" elapsed="1.594637"/>
</kw>
<msg time="2026-05-25T00:35:52.314649" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:50.719330" elapsed="1.595431"/>
</kw>
<arg>${system}</arg>
<arg>sudo mn -c</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:50.718889" elapsed="1.596049"/>
</kw>
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:52.318870" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:52.318629" elapsed="0.000298"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:52.318609" elapsed="0.000342"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:52.319216" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:35:52.319338" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:35:52.319075" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:52.319875" level="INFO">Attempting to execute command "sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:52.319489" elapsed="0.000434"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:52.320441" level="INFO">${conn_id} = 13</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:52.320051" elapsed="0.000417"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:52.321304" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:52.321385" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:52.320971" elapsed="0.000439"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.321566" elapsed="0.000331"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:52.322747" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:52.683005" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:51 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:52.322420" elapsed="0.360777"/>
</kw>
<msg time="2026-05-25T00:35:52.683308" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.322041" elapsed="0.361447"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:52.320655" elapsed="0.362959"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:52.684081" level="INFO">Executing command 'sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh'.</msg>
<msg time="2026-05-25T00:35:52.716730" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-05-25T00:35:52.717107" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:35:52.717213" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:52.683831" elapsed="0.033490"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:52.717765" elapsed="0.000672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:52.719482" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:52.718778" elapsed="0.000804"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:52.720072" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:52.719759" elapsed="0.000424"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:52.719708" elapsed="0.000554"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:35:52.720632" elapsed="0.000068"/>
</return>
<status status="PASS" start="2026-05-25T00:35:52.720389" elapsed="0.000389"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:52.720353" elapsed="0.000480"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:35:52.720910" elapsed="0.000033"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.726043" elapsed="0.000606"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:52.726795" elapsed="0.000176"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:35:52.727095" elapsed="0.000104"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:35:52.721627" elapsed="0.005644"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:35:52.317510" elapsed="0.409857"/>
</kw>
<msg time="2026-05-25T00:35:52.727426" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.316281" elapsed="0.411200"/>
</kw>
<arg>${system}</arg>
<arg>sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:52.315303" elapsed="0.412261"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:50.718630" elapsed="2.008993"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:35:52.728157" level="INFO">${mininet_conn_id} = 15</msg>
<var>${mininet_conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:35:52.727767" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:52.728702" level="INFO">${mininet_conn_id} = 15</msg>
<arg>${mininet_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:52.728364" elapsed="0.000381"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:52.730506" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:35:52.730591" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:52.730200" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.730752" elapsed="0.000338"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:35:52.731934" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:35:53.078000" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:35:09 UTC 2026

  System load:  0.07               Processes:             110
  Usage of /:   19.3% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:52 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:35:52.731597" elapsed="0.346546"/>
</kw>
<msg time="2026-05-25T00:35:53.078338" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.731250" elapsed="0.347164"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:35:52.729775" elapsed="0.348756"/>
</kw>
<msg time="2026-05-25T00:35:53.078582" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:35:52.729321" elapsed="0.349306"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:35:52.728924" elapsed="0.349778"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:35:53.079400" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-05-25T00:35:53.101767" level="INFO">Command exited with return code 0.</msg>
<arg>sudo ovs-vsctl set-manager ptcp:6644</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.078931" elapsed="0.022966"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:53.141688" level="INFO">sudo mn --controller=remote,ip=10.30.170.7 --topo tree,1 --switch ovsk,protocols=OpenFlow13</msg>
<arg>${start}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:53.102207" elapsed="0.039542"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:53.361079" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.170.7:6653
*** Adding hosts:
h1 h2 
*** Adding switches:
s1 
*** Adding links:
(s1, h1) (s1, h2) 
*** Configuring hosts
h1 h2 
*** Starting controller
c0 
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:53.141895" elapsed="0.219381"/>
</kw>
<doc>Basic setup/cleanup work that can be done safely before any system
is run.</doc>
<status status="PASS" start="2026-05-25T00:35:50.717719" elapsed="2.643665"/>
</kw>
<suite id="s1-s3-s1" name="010 SM add upd del flows" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Flows_Additional_TCs/Stat_Manager_extended/010_SM_add_upd_del_flows.robot">
<kw name="Initialization Phase" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.554385" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d141d544d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:35:53.554019" elapsed="0.000552"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Switches In Inventory" owner="FlowLib">
<for flavor="IN RANGE">
<iter>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.600107" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.604338" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:35:53 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":57942,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"1","active-flows":1,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*0-8","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":3000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendayli... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:53.605021" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.558724" elapsed="0.046547"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.608934" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":57942,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"1","active-flows":1,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*0-8","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":3000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:35:53.500Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"0a:fa:fa:c5:21:2e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"3","received":"1"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":177000000},"bytes":{"transmitted":"261","received":"90"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:3f:a7:18:0b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":169000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"4e:06:88:8b:6f:2b","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"2","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":178000000},"bytes":{"transmitted":"175","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:35:53.519Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.605612" elapsed="0.003890"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:53.609725" elapsed="0.003457"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:35:53.613432" elapsed="0.003178"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:35:53.558605" elapsed="0.058064"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:35:53.556690" elapsed="0.060024"/>
</for>
<arg>${1}</arg>
<doc>Check all switches and stats in operational inventory</doc>
<status status="PASS" start="2026-05-25T00:35:53.555344" elapsed="0.061456"/>
</kw>
<arg>10x</arg>
<arg>1s</arg>
<arg>FlowLib.Check Switches In Inventory</arg>
<arg>${1}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:53.554738" elapsed="0.062131"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:53.618637" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:53.617081" elapsed="0.001613"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:53.650423" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=0.124s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=0 actions=CONTROLLER:65535
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:53.618848" elapsed="0.031672"/>
</kw>
<doc>Initiate tcp connection with controller</doc>
<status status="PASS" start="2026-05-25T00:35:53.553348" elapsed="0.097263"/>
</kw>
<test id="s1-s3-s1-t1" name="Test Add Flows Group 0" line="37">
<for flavor="IN">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.652037" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.651656" elapsed="0.000450"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.655985" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.656140" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.655835" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.656868" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a8f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.656344" elapsed="0.000553"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.657396" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.657052" elapsed="0.000372"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.657858" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.657580" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.658344" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.658037" elapsed="0.000333"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.660438" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.658524" elapsed="0.001948"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.660983" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.660642" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.661562" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.661223" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.662083" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.661763" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.662605" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.662294" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.663118" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.662805" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.663654" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a8f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.663337" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.655485" elapsed="0.008268"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.671177" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.670920" elapsed="0.000332"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.694514" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '877', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:53.694578" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.694671" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.671386" elapsed="0.023311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.696885" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.694863" elapsed="0.002067"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.670509" elapsed="0.026481"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.663911" elapsed="0.033133"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.651454" elapsed="0.045652"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.697613" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.697360" elapsed="0.000298"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.701136" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.701291" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.700970" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.701870" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8d10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.701476" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.702354" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.702054" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.702816" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.702540" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.703286" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.702996" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.704078" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.703466" elapsed="0.000643"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.704775" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.704283" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.705392" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.705012" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.705916" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.705599" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.706436" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.706114" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.706951" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.706639" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.707485" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8d10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.707153" elapsed="0.000375"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.700633" elapsed="0.006952"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.715043" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.714793" elapsed="0.000308"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.728800" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '869', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:53.728862" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.728962" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.715229" elapsed="0.013759"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.733175" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.729167" elapsed="0.004137"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.714387" elapsed="0.019048"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.707737" elapsed="0.025813"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.697212" elapsed="0.036422"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.734715" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.734134" elapsed="0.000680"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.739794" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.739930" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.739655" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.740560" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9940&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.740146" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.741021" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.740742" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.741536" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.741252" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.741988" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.741717" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.742765" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.742165" elapsed="0.000631"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.743292" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.742958" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.743807" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.743493" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.744337" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.744001" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.744834" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.744532" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.745374" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.745029" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.745881" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9940&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.745571" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.739318" elapsed="0.006659"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.753485" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.753221" elapsed="0.000327"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.770095" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '845', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:53.770231" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.770569" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.753675" elapsed="0.016953"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.775459" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.770987" elapsed="0.004571"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.752802" elapsed="0.022887"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.746127" elapsed="0.029678"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.733851" elapsed="0.042041"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.776993" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.776432" elapsed="0.000689"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.783090" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.783225" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.782953" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.783819" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.783423" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.784291" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.783999" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.784747" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.784469" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.785215" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.784923" elapsed="0.000334"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.786046" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.785409" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.786567" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.786247" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.787070" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.786762" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.787591" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.787278" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.788084" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.787782" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.788601" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.788293" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.789139" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.788798" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.782618" elapsed="0.006635"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.796560" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.796272" elapsed="0.000383"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.821482" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1061', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:53.821628" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.821834" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.796787" elapsed="0.025105"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.827080" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.822280" elapsed="0.004899"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.795855" elapsed="0.031487"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.789406" elapsed="0.038055"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.776113" elapsed="0.051436"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.828649" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.828055" elapsed="0.000694"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.832679" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.832812" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.832540" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.833433" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4caed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.832992" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.833897" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.833614" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.834362" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.834075" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.834808" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.834538" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.835650" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.834984" elapsed="0.000696"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.836153" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.835836" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.836674" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.836363" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.837217" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.836872" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.837733" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.837430" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.838298" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.837969" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.838809" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4caed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.838499" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.832188" elapsed="0.006719"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.846173" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.845921" elapsed="0.000327"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.860976" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1171', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:53.861101" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.861230" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.846380" elapsed="0.014914"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.866333" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.861535" elapsed="0.004900"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.845519" elapsed="0.021046"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.839058" elapsed="0.027624"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.827769" elapsed="0.038998"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.867866" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.867306" elapsed="0.000664"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.872427" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.872563" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.872288" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.873201" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9440&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.872779" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.873698" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.873405" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.874153" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.873880" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.874625" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.874350" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.875462" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.874804" elapsed="0.000689"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.875968" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.875652" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.876494" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.876168" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.877023" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.876690" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.877545" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.877226" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.878052" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.877744" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.878577" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9440&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.878266" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.871934" elapsed="0.006741"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.886725" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.886417" elapsed="0.000378"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.898546" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1131', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:53.898678" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.898811" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.886940" elapsed="0.011907"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.903295" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.899073" elapsed="0.004288"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.885927" elapsed="0.017518"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.878827" elapsed="0.024692"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.866987" elapsed="0.036586"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.904274" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.903895" elapsed="0.000445"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.909447" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.909635" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.909228" elapsed="0.000448"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.910497" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.909894" elapsed="0.000649"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.911152" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.910758" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.911810" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.911427" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.912461" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.912060" elapsed="0.000438"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.913696" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.912711" elapsed="0.001016"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.914209" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.913888" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.914734" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.914424" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.915259" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.914930" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.915757" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.915455" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.916278" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.915954" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.916797" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.916476" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.908721" elapsed="0.008174"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.924477" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.924210" elapsed="0.000365"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.937865" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1316', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:53.938014" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.938217" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.924707" elapsed="0.013615"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.943501" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.938691" elapsed="0.004914"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.923805" elapsed="0.019934"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.917060" elapsed="0.026799"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.903713" elapsed="0.040235"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.945113" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.944494" elapsed="0.000721"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.950381" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.950569" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.950169" elapsed="0.000441"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.951433" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb470&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.950822" elapsed="0.000651"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.952073" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.951688" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.952720" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.952341" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.953435" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.953015" elapsed="0.000456"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.954405" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.953638" elapsed="0.000797"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.954910" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.954592" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.955435" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.955104" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.955947" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.955634" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.956512" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.956185" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.957043" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.956713" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.957574" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb470&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.957260" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.949697" elapsed="0.007976"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.965032" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.964750" elapsed="0.000348"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:53.981137" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1470', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:53.981328" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:53.981542" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:53.965225" elapsed="0.016380"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.986292" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.981961" elapsed="0.004392"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:53.964346" elapsed="0.022087"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:53.957822" elapsed="0.028682"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.944171" elapsed="0.042391"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.987294" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:53.986924" elapsed="0.000434"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:53.992190" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:53.992392" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:53.992004" elapsed="0.000429"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:53.993265" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:53.992646" elapsed="0.000660"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.993908" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.993522" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.994560" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.994159" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:53.995198" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:53.994810" elapsed="0.000445"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:53.996579" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:53.995470" elapsed="0.001153"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.997389" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.996844" elapsed="0.000611"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.997946" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.997635" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.998467" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.998138" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.998958" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.998659" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.999478" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.999152" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:53.999985" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:53.999679" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:53.991537" elapsed="0.008546"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.007396" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.007117" elapsed="0.000344"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.018542" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1426', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.018780" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.018990" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.007590" elapsed="0.011458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.024198" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.019457" elapsed="0.004871"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.006714" elapsed="0.017745"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.000253" elapsed="0.024328"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-05-25T00:35:53.986741" elapsed="0.037926"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.025799" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.025211" elapsed="0.000687"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.031429" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.031563" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.031294" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.032159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.031743" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.032636" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.032357" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.033128" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.032814" elapsed="0.000340"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.033598" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.033324" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.034515" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.033776" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.035025" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.034708" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.035545" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.035219" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.036049" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.035738" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.036561" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.036256" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.037094" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.036760" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.037617" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.037308" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.030944" elapsed="0.006769"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.044976" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.044709" elapsed="0.000375"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.057052" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1430', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.057147" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.057301" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.045215" elapsed="0.012125"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.060484" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.057569" elapsed="0.002980"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.044310" elapsed="0.016319"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.037862" elapsed="0.022839"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.024888" elapsed="0.035865"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.061490" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.061116" elapsed="0.000444"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.066428" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.066630" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.066221" elapsed="0.000458"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.067507" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2e80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.066891" elapsed="0.000656"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.068145" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.067760" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.068797" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.068417" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.069472" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.069071" elapsed="0.000437"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.070747" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.069719" elapsed="0.001070"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.071471" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.071007" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.072169" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.071742" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.073007" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.072459" elapsed="0.000653"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.073720" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.073361" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.074224" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.073917" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.074746" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2e80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.074438" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.065752" elapsed="0.009090"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.082146" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.081896" elapsed="0.000314"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.094446" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1421', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.094514" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.094712" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.082354" elapsed="0.012415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.099967" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.095126" elapsed="0.004938"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.081493" elapsed="0.018700"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.074992" elapsed="0.025351"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.060890" elapsed="0.039538"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.101636" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.101040" elapsed="0.000701"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.107329" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.107461" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.107180" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.108056" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2cf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.107643" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.108531" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.108253" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.109001" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.108710" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.109477" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.109183" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.110390" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.109659" elapsed="0.000762"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.110902" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.110577" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.111422" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.111097" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.111934" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.111615" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.112448" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.112129" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.112986" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.112649" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.113520" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2cf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.113193" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.106844" elapsed="0.006774"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.120852" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.120603" elapsed="0.000337"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.135147" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1650', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.135415" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.135642" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.121068" elapsed="0.014633"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.140892" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.136063" elapsed="0.004965"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.120192" elapsed="0.020968"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.113767" elapsed="0.027544"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.100715" elapsed="0.040685"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.142511" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.141916" elapsed="0.000695"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.147782" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.147912" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.147648" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.148539" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.148094" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.149014" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.148723" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.149485" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.149197" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.149932" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.149662" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.150800" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.150109" elapsed="0.000721"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.151324" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.150989" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.151834" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.151523" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.152358" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.152028" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.152894" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.152587" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.153439" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.153110" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.153950" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.153639" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.147304" elapsed="0.006743"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.161615" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.161364" elapsed="0.000313"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.176055" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1213', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:54.176199" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.176445" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.161804" elapsed="0.014699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.181699" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.176861" elapsed="0.004936"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.160937" elapsed="0.020989"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.154199" elapsed="0.027843"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.141627" elapsed="0.040499"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.183224" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.182671" elapsed="0.000687"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.188106" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.188282" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.187972" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.188968" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de110&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.188467" elapsed="0.000530"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.189448" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.189152" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.189899" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.189627" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.190363" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.190077" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.191192" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.190540" elapsed="0.000682"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.191717" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.191397" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.192225" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.191914" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.192751" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.192436" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.193315" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.192983" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.193823" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.193514" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.194343" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de110&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.194020" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.187638" elapsed="0.006804"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.201918" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.201667" elapsed="0.000314"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.212332" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1216', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:54.212464" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.212601" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.202110" elapsed="0.010528"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.215877" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.212864" elapsed="0.003076"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.201255" elapsed="0.014766"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.194591" elapsed="0.021503"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.182380" elapsed="0.033768"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.216834" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.216485" elapsed="0.000451"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.221858" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.222040" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.221670" elapsed="0.000412"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.222873" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de1b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.222318" elapsed="0.000600"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.223557" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.223133" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.224189" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.223810" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.224849" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.224467" elapsed="0.000448"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.226069" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.225140" elapsed="0.000973"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.226819" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.226358" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.227556" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.227095" elapsed="0.000520"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.228296" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.227829" elapsed="0.000527"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.229056" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.228569" elapsed="0.000553"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.229724" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.229357" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.230253" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de1b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.229926" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.221185" elapsed="0.009169"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.237767" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.237515" elapsed="0.000351"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.254794" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1176', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:54.254942" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.255145" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.237998" elapsed="0.017205"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.260462" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.255610" elapsed="0.004952"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.237090" elapsed="0.023603"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.230505" elapsed="0.030306"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.216305" elapsed="0.044628"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.262035" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.261478" elapsed="0.000658"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.269873" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.270011" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.269738" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.270616" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.270194" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.271070" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.270796" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.271534" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.271262" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.271982" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.271708" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.272734" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.272156" elapsed="0.000609"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.273303" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.272961" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.273814" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.273500" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.274341" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.274006" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.274835" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.274536" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.275402" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.275078" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.275907" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.275600" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.269173" elapsed="0.006832"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.283399" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.283128" elapsed="0.000329"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.294719" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '931', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.294805" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.294931" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.283590" elapsed="0.011376"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.298109" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.295187" elapsed="0.002984"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.282729" elapsed="0.015545"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.276155" elapsed="0.022201"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.261159" elapsed="0.037250"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.299096" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.298744" elapsed="0.000413"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.303981" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.304163" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.303798" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.305012" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f46d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.304437" elapsed="0.000616"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.305725" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.305332" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.306374" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.305975" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.306997" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.306620" elapsed="0.000413"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.308016" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.307262" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.308744" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.308296" elapsed="0.000507"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.309518" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.309065" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.310039" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.309727" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.310547" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.310230" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.311047" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.310743" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.311568" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f46d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.311255" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.303334" elapsed="0.008330"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.318912" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.318663" elapsed="0.000306"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.328478" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '901', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.328540" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.328633" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.319096" elapsed="0.009563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.332823" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.328894" elapsed="0.004053"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.318262" elapsed="0.014815"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.311811" elapsed="0.021384"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.298564" elapsed="0.034751"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.334410" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.333824" elapsed="0.000688"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.339839" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.339969" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.339706" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.340548" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.340150" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.341034" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.340729" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.341501" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.341213" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.341952" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.341680" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.342690" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.342128" elapsed="0.000594"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.343199" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.342879" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.343734" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.343414" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.344269" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.343930" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.344779" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.344466" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.345326" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.344999" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.345840" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.345527" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.339370" elapsed="0.006568"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.353423" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.353153" elapsed="0.000360"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.366982" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '897', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.367069" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.367198" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.353643" elapsed="0.013617"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.373703" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.367492" elapsed="0.006309"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.352716" elapsed="0.021214"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.346088" elapsed="0.027958"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.333539" elapsed="0.040590"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.375221" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.374666" elapsed="0.000687"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.380045" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.380179" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.379911" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.380857" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7d80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.380376" elapsed="0.000511"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.381344" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.381040" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.381796" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.381523" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.382253" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.381971" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.383109" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.382429" elapsed="0.000710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.383626" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.383308" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.384129" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.383821" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.384650" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.384335" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.385188" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.384872" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.385749" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.385438" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.386267" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7d80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.385945" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.379579" elapsed="0.006785"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.393615" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.393368" elapsed="0.000308"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.407137" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1266', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.407327" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.407539" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.393802" elapsed="0.013794"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.412611" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.407950" elapsed="0.004757"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.392957" elapsed="0.019902"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.386514" elapsed="0.026461"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.374379" elapsed="0.038677"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.414149" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.413593" elapsed="0.000686"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.419576" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.419709" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.419440" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.420332" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f56c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.419916" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.420785" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.420511" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.421265" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.420978" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.421709" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.421441" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.422569" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.421882" elapsed="0.000718"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.423071" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.422756" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.423587" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.423280" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.424092" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.423779" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.424599" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.424298" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.425126" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.424794" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.425649" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f56c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.425336" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.419091" elapsed="0.006654"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.433032" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.432741" elapsed="0.000354"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.447577" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1264', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.447788" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.447997" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.433222" elapsed="0.014833"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.453287" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.448447" elapsed="0.004941"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.432344" elapsed="0.021173"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.425893" elapsed="0.027738"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.413303" elapsed="0.040412"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.454815" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.454222" elapsed="0.000694"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.460896" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.461079" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.460691" elapsed="0.000428"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.461919" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.461352" elapsed="0.000607"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.462584" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.462172" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.463212" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.462833" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.463859" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.463483" elapsed="0.000413"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.465148" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.464105" elapsed="0.001087"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.465892" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.465437" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.466624" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.466167" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.467358" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.466896" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.468057" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.467633" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.468786" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.468352" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.469572" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.469114" elapsed="0.000506"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.460208" elapsed="0.009468"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.477063" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.476812" elapsed="0.000347"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.492150" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1349', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.492389" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.492645" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.477305" elapsed="0.015401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.498105" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.493188" elapsed="0.004984"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.476391" elapsed="0.021896"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.469827" elapsed="0.028543"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.453934" elapsed="0.044496"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.499186" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.498807" elapsed="0.000467"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.504614" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.504890" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.504405" elapsed="0.000534"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.505795" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de6b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.505170" elapsed="0.000667"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.506495" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.506063" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.507154" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.506756" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.507838" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.507436" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.508995" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.508096" elapsed="0.000945"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.509710" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.509299" elapsed="0.000454"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.510214" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.509905" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.510741" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.510423" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.511309" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.510988" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.511817" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.511508" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.512341" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de6b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.512015" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.503864" elapsed="0.008577"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.519818" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.519553" elapsed="0.000325"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.532491" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '847', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:54.532643" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.532902" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.520011" elapsed="0.012950"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.538265" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.533398" elapsed="0.004970"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.519111" elapsed="0.019389"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.512593" elapsed="0.026024"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.498602" elapsed="0.040100"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.539807" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.539223" elapsed="0.000682"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.545960" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.546205" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.545751" elapsed="0.000525"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.547160" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd8f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.546514" elapsed="0.000690"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.547947" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.547523" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.548641" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.548214" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.549348" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.548923" elapsed="0.000464"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.550758" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.549612" elapsed="0.001192"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.551548" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.551041" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.552323" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.551841" elapsed="0.000544"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.553126" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.552611" elapsed="0.000577"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.553778" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.553437" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.554297" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.553974" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.554813" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd8f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.554504" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.545204" elapsed="0.009706"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.562276" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.562007" elapsed="0.000334"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.576638" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1374', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.576914" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.577135" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.562473" elapsed="0.014721"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.582425" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.577606" elapsed="0.004917"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.561598" elapsed="0.021056"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.555063" elapsed="0.027707"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.538933" elapsed="0.043921"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.584052" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.583404" elapsed="0.000745"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.588660" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.588840" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.588518" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.589457" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.589024" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.589929" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.589647" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.590398" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.590109" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.590849" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.590577" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.591702" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.591027" elapsed="0.000707"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.592252" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.591904" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.592797" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.592452" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.593336" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.593002" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.593831" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.593529" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.594349" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.594026" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.594865" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.594554" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.588155" elapsed="0.006808"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.602394" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.602111" elapsed="0.000412"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.618471" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '956', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.618617" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.618849" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.602665" elapsed="0.016243"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.624408" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.619344" elapsed="0.005170"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.601680" elapsed="0.022982"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.595117" elapsed="0.029723"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.583084" elapsed="0.041860"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.626152" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.625545" elapsed="0.000749"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.631722" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.631897" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.631579" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.632526" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcae0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.632078" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.633012" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.632709" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.633491" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.633192" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.633952" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.633674" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.634766" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.634130" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.635309" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.634962" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.635819" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.635507" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.636344" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.636013" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.636870" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.636542" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.637446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.637115" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.637961" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcae0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.637647" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.631216" elapsed="0.006844"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.645395" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.645125" elapsed="0.000331"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.656684" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1032', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.656836" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.656978" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.645586" elapsed="0.011427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.661832" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.657291" elapsed="0.004639"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.644710" elapsed="0.017349"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.638211" elapsed="0.023965"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.625200" elapsed="0.037092"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.663377" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.662798" elapsed="0.000681"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.670327" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.670459" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.670177" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.671029" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.670639" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.671539" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.671256" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.671994" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.671723" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.672464" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.672171" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.673297" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.672641" elapsed="0.000687"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.673799" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.673485" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.674314" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.673993" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.674823" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.674509" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.675331" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.675015" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.675838" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.675531" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.676354" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.676033" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.669846" elapsed="0.006606"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.683726" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.683477" elapsed="0.000308"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.694573" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1055', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.694661" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.694829" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.683912" elapsed="0.010954"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.698051" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.695090" elapsed="0.003022"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.683048" elapsed="0.015146"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.676600" elapsed="0.021689"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.662513" elapsed="0.035832"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.699008" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.698662" elapsed="0.000409"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.703959" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.704142" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.703774" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.705022" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9a80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.704415" elapsed="0.000647"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.705697" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.705298" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.706349" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.705947" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.706985" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.706606" elapsed="0.000416"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.708154" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.707233" elapsed="0.000964"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.708908" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.708440" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.709640" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.709184" elapsed="0.000514"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.710372" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.709912" elapsed="0.000520"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.711067" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.710645" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.711805" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.711373" elapsed="0.000497"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.712535" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9a80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.712083" elapsed="0.000511"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.703303" elapsed="0.009369"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.720209" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.719958" elapsed="0.000364"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.734531" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1111', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.734669" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.734872" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.720454" elapsed="0.014477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.740079" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.735335" elapsed="0.004841"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.719557" elapsed="0.020779"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.712926" elapsed="0.027528"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.698481" elapsed="0.042057"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.741664" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.741073" elapsed="0.000691"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.747332" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.747465" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.747183" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.748035" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbc90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.747651" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.748506" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.748215" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.748972" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.748684" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.749450" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.749146" elapsed="0.000330"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.750257" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.749624" elapsed="0.000665"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.750768" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.750448" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.751428" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.750960" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.751935" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.751624" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.752442" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.752124" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.753028" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.752675" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.753552" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbc90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.753226" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.746850" elapsed="0.006802"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.760918" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.760651" elapsed="0.000325"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.773828" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '902', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.773913" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.774039" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.761102" elapsed="0.012972"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.777286" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.774328" elapsed="0.003022"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.760253" elapsed="0.017178"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.753802" elapsed="0.023701"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.740779" elapsed="0.036778"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.778655" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.778060" elapsed="0.000694"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.786016" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.786147" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.785882" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.786757" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3b00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.786343" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.787214" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.786938" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.787734" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.787456" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.788184" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.787913" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.789112" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.788378" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.789636" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.789315" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.790144" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.789834" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.790671" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.790355" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.791167" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.790865" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.791692" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.791378" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.792196" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3b00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.791889" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.785539" elapsed="0.006771"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.799713" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.799463" elapsed="0.000315"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.810814" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1435', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.810954" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.811088" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.799906" elapsed="0.011218"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.814375" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.811395" elapsed="0.003041"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.799044" elapsed="0.015474"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.792458" elapsed="0.022132"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.777775" elapsed="0.036867"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.815328" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.814959" elapsed="0.000436"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.820428" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.820621" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.820218" elapsed="0.000444"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.821502" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d33d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.820897" elapsed="0.000645"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.822307" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.821900" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.822932" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.822556" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.823573" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.823175" elapsed="0.000435"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.824862" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.823815" elapsed="0.001090"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.825591" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.825123" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.826317" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.825868" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.827041" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.826587" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.827767" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.827343" elapsed="0.000486"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.828484" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.828038" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.829220" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d33d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.828791" elapsed="0.000510"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.819748" elapsed="0.009630"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.836661" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.836415" elapsed="0.000364"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.849107" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1563', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.849176" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.849287" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.836914" elapsed="0.012401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.855698" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.849482" elapsed="0.006315"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.836004" elapsed="0.019924"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.829579" elapsed="0.026466"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.814781" elapsed="0.041347"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.857284" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.856693" elapsed="0.000697"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.863158" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.863306" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.863024" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.863913" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.863494" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.864391" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.864095" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.864875" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.864570" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.865344" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.865054" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.866266" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.865522" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.866776" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.866455" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.867301" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.866973" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.867858" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.867529" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.868376" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.868052" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.868912" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.868574" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.869441" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.869111" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.862689" elapsed="0.006851"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.876833" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.876564" elapsed="0.000335"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.889330" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1557', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.889433" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.889564" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.877027" elapsed="0.012595"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.894778" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.889979" elapsed="0.004898"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.876150" elapsed="0.018854"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.869690" elapsed="0.025511"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.856380" elapsed="0.038940"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.896428" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.895834" elapsed="0.000694"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.902392" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.902524" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.902256" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.903111" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cabb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.902705" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.903586" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.903308" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.904033" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.903764" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.904497" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.904210" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.905415" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.904694" elapsed="0.000753"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.905924" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.905606" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.906446" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.906119" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.906955" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.906642" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.907471" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.907150" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.907980" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.907671" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.908515" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cabb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.908176" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.901908" elapsed="0.006711"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.916099" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.915850" elapsed="0.000346"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.930189" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1435', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.930381" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.930592" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.916341" elapsed="0.014310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.935842" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.931007" elapsed="0.004932"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.915451" elapsed="0.020618"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.908801" elapsed="0.027385"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.895544" elapsed="0.040758"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.937429" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.936833" elapsed="0.000698"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.943345" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.943477" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.943195" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.944065" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.943657" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.944542" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.944261" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.945032" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.944755" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.945500" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.945210" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.946412" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.945683" elapsed="0.000761"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.946921" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.946602" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.947448" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.947118" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.947958" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.947643" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.948512" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.948188" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.949047" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.948731" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.949640" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.949266" elapsed="0.000424"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.942860" elapsed="0.006891"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.957088" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.956839" elapsed="0.000313"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:54.967583" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1441', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:54.967680" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:54.967807" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.957294" elapsed="0.010550"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.971066" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.968066" elapsed="0.003062"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.956417" elapsed="0.014792"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.949903" elapsed="0.021403"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.936523" elapsed="0.034874"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.972076" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.971728" elapsed="0.000411"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:54.977156" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:54.977362" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:54.976969" elapsed="0.000434"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:54.978184" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:54.977613" elapsed="0.000611"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.978846" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.978460" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.979495" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.979095" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:54.980127" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:54.979749" elapsed="0.000414"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:54.981451" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:54.980393" elapsed="0.001108"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.981995" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.981677" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.982516" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.982189" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.983024" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.982710" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.983535" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.983216" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.984042" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.983736" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.984563" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:54.984253" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:54.976467" elapsed="0.008214"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:54.992052" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:54.991798" elapsed="0.000319"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.002423" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1446', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.002528" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.002720" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:54.992259" elapsed="0.010518"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.007889" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.003129" elapsed="0.004859"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:54.991394" elapsed="0.016723"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:54.984836" elapsed="0.023423"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-05-25T00:35:54.971543" elapsed="0.036811"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.009516" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.008918" elapsed="0.000698"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.015310" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.015443" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.015162" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.016051" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2f70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.015628" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.016522" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.016245" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.016993" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.016718" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.017460" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.017171" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.018392" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.017636" elapsed="0.000787"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.018901" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.018583" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.019421" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.019097" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.019927" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.019615" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.020436" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.020120" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.020964" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.020656" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.021486" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2f70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.021161" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.014830" elapsed="0.006753"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.029059" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.028806" elapsed="0.000357"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.044989" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1604', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.045088" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.045216" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.029310" elapsed="0.015966"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.050270" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.045509" elapsed="0.004863"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.028381" elapsed="0.022118"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.021733" elapsed="0.028882"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.008576" elapsed="0.042123"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.051797" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.051204" elapsed="0.000692"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.056292" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.056433" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.056142" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.057111" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb3d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.056661" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.057591" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.057310" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.058048" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.057771" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.058518" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.058228" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.059471" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.058696" elapsed="0.000806"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.059993" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.059669" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.060522" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.060191" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.061094" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.060773" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.061616" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.061307" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.062128" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.061816" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.062663" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb3d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.062344" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.055811" elapsed="0.006951"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.070093" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.069842" elapsed="0.000318"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.082568" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1611', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.082666" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.082791" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.070304" elapsed="0.012522"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.086282" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.083048" elapsed="0.003334"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.069426" elapsed="0.017153"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.062914" elapsed="0.023783"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.050919" elapsed="0.035862"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.087868" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.087313" elapsed="0.000654"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.095767" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.096059" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.095472" elapsed="0.000652"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.097514" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.096490" elapsed="0.001083"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.098005" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.097727" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.098469" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.098182" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.098914" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.098646" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.099844" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.099087" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.100361" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.100031" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.100892" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.100564" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.101411" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.101084" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.101909" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.101609" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.102425" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.102103" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.102930" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.102622" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.094697" elapsed="0.008328"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.110410" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.110145" elapsed="0.000364"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.122514" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1607', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.122612" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.122740" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.110644" elapsed="0.012132"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.125921" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.122997" elapsed="0.002984"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.109742" elapsed="0.016318"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.103173" elapsed="0.022959"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.086997" elapsed="0.039187"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.126863" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.126518" elapsed="0.000408"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.131850" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.132033" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.131578" elapsed="0.000495"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.132879" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de1b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.132303" elapsed="0.000615"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.133536" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.133128" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.134161" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.133786" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.134810" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.134427" elapsed="0.000419"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.135985" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.135053" elapsed="0.000974"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.136748" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.136263" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.137481" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.137023" elapsed="0.000516"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.138262" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.137799" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.138961" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.138536" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.139697" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.139256" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.140452" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de1b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.139982" elapsed="0.000529"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.131095" elapsed="0.009533"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.148156" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.147903" elapsed="0.000315"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.160153" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1317', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.160219" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.160329" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.148362" elapsed="0.011993"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.165322" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.160520" elapsed="0.004901"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.147496" elapsed="0.018055"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.140842" elapsed="0.024827"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.126340" elapsed="0.039414"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.166917" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.166357" elapsed="0.000660"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.172103" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.172250" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.171968" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.172878" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5940&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.172437" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.173357" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.173062" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.173819" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.173541" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.174291" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.174000" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.175204" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.174472" elapsed="0.000777"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.175742" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.175421" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.176270" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.175944" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.176808" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.176469" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.177326" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.177005" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.177838" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.177527" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.178366" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5940&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.178039" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.171626" elapsed="0.006840"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.185985" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.185734" elapsed="0.000317"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.197515" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1552', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.197658" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.197788" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.186181" elapsed="0.011644"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.201121" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.198049" elapsed="0.003133"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.185319" elapsed="0.015969"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.178618" elapsed="0.022745"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.166038" elapsed="0.035378"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.202091" level="INFO">f156.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.201744" elapsed="0.000410"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.207094" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.207313" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.206909" elapsed="0.000448"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.208147" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dce50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.207572" elapsed="0.000615"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.208843" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.208426" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.209493" level="INFO">${flow_id} = 279</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.209094" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.210128" level="INFO">${flow_priority} = 156</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.209744" elapsed="0.000421"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.211344" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.210394" elapsed="0.000994"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.212061" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.211618" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.212830" level="INFO">${flow_id} = 279</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.212356" elapsed="0.000532"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.213621" level="INFO">${flow_priority} = 156</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.213101" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.214118" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.213816" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.214639" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.214329" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.215144" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dce50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.214837" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.206443" elapsed="0.008811"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.222673" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;279&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
      &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;156&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;
    &lt;priority&gt;156&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.222423" elapsed="0.000348"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.235062" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1247', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;279&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
      &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;156&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;
    &lt;priority&gt;156&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.235129" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.235220" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.222901" elapsed="0.012365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.239947" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.235435" elapsed="0.004612"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.221999" elapsed="0.018175"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.215408" elapsed="0.024916"/>
</kw>
<var name="${flowfile}">f156.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.201554" elapsed="0.038855"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.241539" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.240951" elapsed="0.000691"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.247270" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.247404" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.247123" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.247991" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.247583" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.248468" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.248173" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.248965" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.248689" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.249437" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.249144" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.250306" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.249615" elapsed="0.000722"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.250817" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.250495" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.251340" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.251013" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.251858" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.251540" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.252406" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.252083" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.252945" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.252628" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.253473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.253144" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.246789" elapsed="0.006781"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.260853" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.260603" elapsed="0.000314"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.273316" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1337', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.273410" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.273536" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.261045" elapsed="0.012527"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.276775" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.273793" elapsed="0.003044"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.260172" elapsed="0.016746"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.253719" elapsed="0.023272"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.240662" elapsed="0.036382"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.277831" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.277382" elapsed="0.000549"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.286128" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.286281" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.285828" elapsed="0.000483"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.286867" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e387b00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.286463" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.287339" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.287047" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.287786" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.287516" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.288227" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.287960" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.289105" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.288419" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.289619" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.289304" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.290119" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.289814" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.290638" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.290326" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.291139" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.290836" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.291654" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.291349" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.292155" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e387b00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.291850" elapsed="0.000346"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.284937" elapsed="0.007329"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.299523" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.299273" elapsed="0.000318"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.311717" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1347', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.311848" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.311977" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.299717" elapsed="0.012296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.317774" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.312260" elapsed="0.005613"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.298858" elapsed="0.019143"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.292426" elapsed="0.025688"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.277181" elapsed="0.041016"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.319413" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.318809" elapsed="0.000705"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.326346" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.326478" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.326198" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.327059" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3872e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.326660" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.327530" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.327253" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.327981" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.327712" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.328442" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.328155" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.329336" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.328651" elapsed="0.000714"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.329836" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.329519" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.330353" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.330031" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.330861" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.330546" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.331367" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.331052" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.331867" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.331562" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.332384" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3872e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.332063" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.325867" elapsed="0.006614"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.339715" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.339468" elapsed="0.000345"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.353552" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1338', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.353645" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.353772" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.339941" elapsed="0.013867"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.356950" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.354031" elapsed="0.002980"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.339060" elapsed="0.018031"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.332648" elapsed="0.024515"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.318505" elapsed="0.038710"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.358100" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.357554" elapsed="0.000646"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.365774" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.365905" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.365641" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.366503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3873d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.366084" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.366958" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.366683" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.367425" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.367136" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.367874" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.367604" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.368760" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.368049" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.369281" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.368947" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.369794" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.369481" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.370319" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.369987" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.370860" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.370552" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.371392" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.371059" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.371908" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3873d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.371596" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.364938" elapsed="0.007068"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.379404" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.379137" elapsed="0.000330"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.388661" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1348', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.388753" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.388878" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.379594" elapsed="0.009321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.392056" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.389135" elapsed="0.002982"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.378737" elapsed="0.013461"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.372156" elapsed="0.020135"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.357372" elapsed="0.034973"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.393048" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.392701" elapsed="0.000409"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.398025" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.398208" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.397841" elapsed="0.000427"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.399058" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.398483" elapsed="0.000615"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.399717" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.399332" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.400362" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.399965" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.401009" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.400633" elapsed="0.000413"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.402323" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.401276" elapsed="0.001090"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.403030" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.402589" elapsed="0.000500"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.403754" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.403323" elapsed="0.000489"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.404506" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.404023" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.405199" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.404779" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.405931" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.405503" elapsed="0.000491"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.406655" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.406206" elapsed="0.000508"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.397378" elapsed="0.009412"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.414873" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.414622" elapsed="0.000316"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.427064" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1544', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.427163" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.427294" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.415065" elapsed="0.012258"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.432212" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.427485" elapsed="0.004859"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.414206" elapsed="0.018299"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.407000" elapsed="0.025626"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.392507" elapsed="0.040208"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.433821" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.433228" elapsed="0.000696"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.439507" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.439639" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.439373" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.440255" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.439821" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.440760" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.440440" elapsed="0.000347"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.441217" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.440942" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.441695" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.441415" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.442631" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.441875" elapsed="0.000787"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.443145" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.442822" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.443676" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.443360" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.444190" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.443873" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.444734" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.444401" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.445262" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.444936" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.445793" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.445471" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.439021" elapsed="0.006878"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.453609" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.453352" elapsed="0.000363"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.467979" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1552', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.468132" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.468380" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.453847" elapsed="0.014593"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.473596" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.468825" elapsed="0.004870"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.452915" elapsed="0.020909"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.446050" elapsed="0.027889"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.432937" elapsed="0.041085"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.475113" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.474561" elapsed="0.000651"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.479988" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.480121" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.479847" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.480744" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df240&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.480315" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.481196" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.480922" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.481659" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.481389" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.482104" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.481836" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.482996" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.482295" elapsed="0.000731"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.483518" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.483182" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.484026" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.483716" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.484599" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.484265" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.485095" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.484793" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.485614" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.485305" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.486118" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df240&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.485809" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.479510" elapsed="0.006703"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.493558" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.493305" elapsed="0.000317"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.506161" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1432', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.506229" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.506343" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.493753" elapsed="0.012616"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.511355" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.506530" elapsed="0.004924"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.492884" elapsed="0.018700"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.486379" elapsed="0.025321"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.474269" elapsed="0.037580"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.512991" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.512402" elapsed="0.000689"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.519151" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.519305" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.519018" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.520016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e384590&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.519487" elapsed="0.000558"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.520537" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.520200" elapsed="0.000366"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.520998" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.520725" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.521466" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.521176" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.522292" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.521642" elapsed="0.000681"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.522794" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.522479" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.523319" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.522995" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.523830" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.523515" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.524335" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.524022" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.524860" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.524554" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.525541" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e384590&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.525056" elapsed="0.000527"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.518684" elapsed="0.006955"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.532894" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.532645" elapsed="0.000310"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.544156" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1138', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.544275" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.544370" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.533081" elapsed="0.011315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.549335" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.544587" elapsed="0.004846"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.532219" elapsed="0.017340"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.525790" elapsed="0.023883"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.512077" elapsed="0.037680"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.550845" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.550288" elapsed="0.000657"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.555899" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.556029" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.555765" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.556623" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2570&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.556210" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.557077" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.556804" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.557540" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.557269" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.557981" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.557715" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.558712" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.558156" elapsed="0.000586"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.559213" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.558899" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.559733" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.559424" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.560257" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.559929" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.560775" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.560468" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.561289" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.560969" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.561799" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2570&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.561486" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.555431" elapsed="0.006464"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.569200" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.568947" elapsed="0.000360"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.580170" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '822', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.580282" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.580432" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.569436" elapsed="0.011034"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.583763" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.580696" elapsed="0.003130"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.568543" elapsed="0.015365"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.562045" elapsed="0.021938"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.549974" elapsed="0.034063"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.584795" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.584379" elapsed="0.000482"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.589818" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.590002" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.589622" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.590834" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9a30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.590278" elapsed="0.000595"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.591501" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.591089" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.592135" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.591755" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.592953" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.592520" elapsed="0.000471"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.594100" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.593207" elapsed="0.000937"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.594830" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.594384" elapsed="0.000506"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.595565" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.595104" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.596299" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.595841" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.597040" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.596615" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.597824" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.597382" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.598564" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9a30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.598104" elapsed="0.000519"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.589133" elapsed="0.009567"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.608951" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.608598" elapsed="0.000439"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.623906" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1123', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.623997" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.624126" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.609216" elapsed="0.014946"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.627477" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.624449" elapsed="0.003090"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.607977" elapsed="0.019648"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.598909" elapsed="0.028790"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.584176" elapsed="0.043575"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.628473" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.628068" elapsed="0.000469"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.633503" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.633691" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.633314" elapsed="0.000418"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.634515" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.633944" elapsed="0.000611"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.635207" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.634814" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.635869" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.635484" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.636547" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.636119" elapsed="0.000471"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.637620" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.636802" elapsed="0.000861"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.638347" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.637883" elapsed="0.000525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.639058" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.638625" elapsed="0.000492"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.639791" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.639350" elapsed="0.000500"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.640556" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.640064" elapsed="0.000558"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.641290" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.640837" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.641883" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.641567" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.632820" elapsed="0.009163"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.649226" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.648978" elapsed="0.000323"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.659372" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '959', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.659434" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.659525" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.649428" elapsed="0.010162"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.662791" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.659822" elapsed="0.003031"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.648576" elapsed="0.014356"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.642132" elapsed="0.020872"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.627887" elapsed="0.035171"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.663742" level="INFO">f221.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.663392" elapsed="0.000413"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.668753" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.668883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.668619" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.669478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca4d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.669063" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.669936" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.669659" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.670400" level="INFO">${flow_id} = 344</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.670113" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.670850" level="INFO">${flow_priority} = 221</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.670578" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.671692" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.671026" elapsed="0.000697"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.672201" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.671881" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.672745" level="INFO">${flow_id} = 344</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.672428" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.673282" level="INFO">${flow_priority} = 221</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.672949" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.673783" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.673479" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.674305" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.673981" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.674821" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca4d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.674505" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.668109" elapsed="0.006809"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.682465" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;344&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;221&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;
    &lt;priority&gt;221&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.682199" elapsed="0.000362"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.691682" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1162', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;344&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;221&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;
    &lt;priority&gt;221&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.691774" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.691903" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.682692" elapsed="0.009248"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.695183" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.692166" elapsed="0.003099"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.681796" elapsed="0.013552"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.675071" elapsed="0.020353"/>
</kw>
<var name="${flowfile}">f221.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.663195" elapsed="0.032283"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.696146" level="INFO">f222.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.695796" elapsed="0.000414"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.701228" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.701434" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.701041" elapsed="0.000434"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.702204" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.701687" elapsed="0.000578"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.702870" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.702481" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.703527" level="INFO">${flow_id} = 345</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.703121" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.704158" level="INFO">${flow_priority} = 222</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.703778" elapsed="0.000417"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.705160" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.704462" elapsed="0.000740"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.705896" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.705447" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.706642" level="INFO">${flow_id} = 345</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.706173" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.707379" level="INFO">${flow_priority} = 222</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.706916" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.708082" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.707658" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.708888" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.708445" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.709640" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.709176" elapsed="0.000524"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.700570" elapsed="0.009206"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.718003" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;id&gt;345&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.717755" elapsed="0.000303"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.728956" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '730', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;id&gt;345&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.729038" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.729164" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.718185" elapsed="0.011015"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.733007" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.729452" elapsed="0.003629"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.717352" elapsed="0.015812"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.709987" elapsed="0.023316"/>
</kw>
<var name="${flowfile}">f222.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.695616" elapsed="0.037746"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.734041" level="INFO">f223.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.733691" elapsed="0.000415"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.739148" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.739385" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.738959" elapsed="0.000469"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.740190" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbb50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.739641" elapsed="0.000590"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.740809" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.740503" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.741278" level="INFO">${flow_id} = 346</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.740990" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.741731" level="INFO">${flow_priority} = 223</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.741459" elapsed="0.000333"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.742483" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.741950" elapsed="0.000565"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.742998" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.742675" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.743529" level="INFO">${flow_id} = 346</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.743199" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.744051" level="INFO">${flow_priority} = 223</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.743727" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.744601" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.744263" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.745111" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.744801" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.745640" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbb50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.745327" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.738488" elapsed="0.007251"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.753158" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;
        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;346&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.752907" elapsed="0.000309"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.764428" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '853', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;
        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;346&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.764513" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.764641" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.753362" elapsed="0.011315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.768835" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.764905" elapsed="0.003992"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.752502" elapsed="0.016478"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.745890" elapsed="0.023163"/>
</kw>
<var name="${flowfile}">f223.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.733503" elapsed="0.035603"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.769849" level="INFO">f224.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.769497" elapsed="0.000415"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.774769" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.774949" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.774582" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.775743" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356c50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.775201" elapsed="0.000582"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.776421" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.775995" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.777045" level="INFO">${flow_id} = 347</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.776669" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.777688" level="INFO">${flow_priority} = 224</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.777309" elapsed="0.000414"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.778658" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.777930" elapsed="0.000771"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.779386" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.778919" elapsed="0.000527"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.780099" level="INFO">${flow_id} = 347</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.779665" elapsed="0.000492"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.780858" level="INFO">${flow_priority} = 224</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.780411" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.781578" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.781127" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.782308" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.781858" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.783017" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356c50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.782584" elapsed="0.000493"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.774099" elapsed="0.009054"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.790848" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;
        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;347&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.790597" elapsed="0.000309"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.808189" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '913', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;
        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;347&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.808363" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.808496" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.791034" elapsed="0.017498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.811645" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.808756" elapsed="0.002951"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.790184" elapsed="0.021604"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.783382" elapsed="0.028479"/>
</kw>
<var name="${flowfile}">f224.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.769315" elapsed="0.042599"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.812654" level="INFO">f225.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.812251" elapsed="0.000466"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.817552" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.817732" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.817364" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.818522" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8d10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.817980" elapsed="0.000582"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.819154" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.818771" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.819798" level="INFO">${flow_id} = 348</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.819421" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.820452" level="INFO">${flow_priority} = 225</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.820040" elapsed="0.000448"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.821423" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.820694" elapsed="0.000771"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.822126" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.821684" elapsed="0.000500"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.822852" level="INFO">${flow_id} = 348</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.822418" elapsed="0.000491"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.823580" level="INFO">${flow_priority} = 225</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.823119" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.824286" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.823846" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.824909" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.824602" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.825434" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8d10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.825104" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.816880" elapsed="0.008649"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.832791" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;
        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;348&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.832539" elapsed="0.000342"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.844580" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '893', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;
        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;348&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.844695" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.844862" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.833011" elapsed="0.011898"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.848183" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.845201" elapsed="0.003060"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.832107" elapsed="0.016260"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.825676" elapsed="0.022765"/>
</kw>
<var name="${flowfile}">f225.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.812052" elapsed="0.036441"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.849157" level="INFO">f550.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.848811" elapsed="0.000408"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:55.853655" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:55.853786" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:55.853522" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:55.854364" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:55.853965" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.854824" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.854544" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.855286" level="INFO">${flow_id} = 550</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.855001" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:55.855731" level="INFO">${flow_priority} = 550</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:55.855462" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:55.856503" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:55.855905" elapsed="0.000628"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.857005" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.856688" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.857527" level="INFO">${flow_id} = 550</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.857200" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.858036" level="INFO">${flow_priority} = 550</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.857724" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.858546" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.858228" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.859091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.858778" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.859616" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:55.859305" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:55.853174" elapsed="0.006539"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.866990" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;
            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;
            &lt;extension&gt;
                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;
                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;
                &lt;/nxm-nx-tun-ipv4-src&gt;
            &lt;/extension&gt;
        &lt;/extension-list&gt;
    &lt;/match&gt;
    &lt;id&gt;550&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.866741" elapsed="0.000309"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.880914" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1160', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;
            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;
            &lt;extension&gt;
                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;
                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;
                &lt;/nxm-nx-tun-ipv4-src&gt;
            &lt;/extension&gt;
        &lt;/extension-list&gt;
    &lt;/match&gt;
    &lt;id&gt;550&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
 
 </msg>
<msg time="2026-05-25T00:35:55.881002" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.881127" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=201</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.867179" elapsed="0.013984"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.884361" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.881416" elapsed="0.003011"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Configures a flow specified by given flow details (${node_id}, 2, ${flow_body}) using POST method</doc>
<status status="PASS" start="2026-05-25T00:35:55.866334" elapsed="0.018179"/>
</kw>
<arg>Add Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${data}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:35:55.859864" elapsed="0.024720"/>
</kw>
<var name="${flowfile}">f550.xml</var>
<status status="PASS" start="2026-05-25T00:35:55.848633" elapsed="0.036003"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-05-25T00:35:53.651201" elapsed="2.233478"/>
</for>
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.885501" level="INFO">Length is 57.</msg>
<msg time="2026-05-25T00:35:55.885616" level="INFO">${flows} = 57</msg>
<var>${flows}</var>
<arg>${flowlist0}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:35:55.884903" elapsed="0.000747"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Flow Stats Are Available" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:55.904596" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:55.907106" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"},"flow":[{"id":"134","table_id":2,"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"cookie":"11","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"332","table_id":2,"installHw":false,"priority":209,"cookie_mask":"255","flow-name":"set-field-tunnel-id","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"209","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tunnel":{"tunnel-id":"2591"}}}]}}]}},{"id":"133","table_id":2,"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"barrier":false,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"132","table_id":2,"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.1.0.0/16","ipv4-destination":"172.168.5.0/24","in-port":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"barrier":false,"cookie":"9","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"131","table_id":2,"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:00","mask":"ff:ff:ff:ff:ff:00"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"barrier":false,"cookie":"8","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"130","table_id":2,"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:aa"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":15}},"barrier":false,"cookie":"7","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"329","table_id":2,"priority":206,"cookie_mask":"255","flow-name":"sctp-destination-port","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"barrier":false,"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]}},{"id":"328","table_id":2,"priority":205,"cookie_mask":"255","flow-name":"sctp-source-port-action","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"barrier":false,"cookie":"205","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-source-port":1111}}]}}]}},{"id":"129","table_id":2,"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"40.4.0.0/16"},"barrier":false,"cookie":"6","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"327","table_id":2,"installHw":false,"priority":204,"cookie_mask":"255","flow-name":"set-field-udp-dst","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"204","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-destination-port":1234}}]}}]}},{"id":"128","table_id":2,"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"openflow:1:0"},"barrier":false,"cookie":"5","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"326","table_id":2,"installHw":false,"priority":203,"cookie_mask":"255","flow-name":"set-field-udp-src","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"203","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-source-port":2059}}]}}]}},{"id":"127","table_id":2,"installHw":false,"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":34887}}},"barrier":false,"cookie":"4","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]}},{"id":"325","table_id":2,"installHw":false,"priority":202,"cookie_mask":"255","flow-name":"set-field-tcp-dst","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]}},{"id":"126","table_id":2,"installHw":false,"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"barrier":false,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]}},{"id":"324","table_id":2,"installHw":false,"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]}},{"id":"125","table_id":2,"installHw":false,"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"barrier":false,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]}},{"id":"124","table_id":2,"installHw":false,"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"barrier":false,"cookie":"1","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"168","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"barrier":false,"out_group":4294967295},{"id":"145","table_id":2,"installHw":false,"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:55.907428" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=${node_id}/flow-node-inventory:table=2</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:55.891197" elapsed="0.016269"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.910934" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"},"flow":[{"id":"134","table_id":2,"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"cookie":"11","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"332","table_id":2,"installHw":false,"priority":209,"cookie_mask":"255","flow-name":"set-field-tunnel-id","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"209","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tunnel":{"tunnel-id":"2591"}}}]}}]}},{"id":"133","table_id":2,"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"barrier":false,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"132","table_id":2,"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.1.0.0/16","ipv4-destination":"172.168.5.0/24","in-port":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"barrier":false,"cookie":"9","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"131","table_id":2,"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:00","mask":"ff:ff:ff:ff:ff:00"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"barrier":false,"cookie":"8","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"130","table_id":2,"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:aa"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":15}},"barrier":false,"cookie":"7","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"329","table_id":2,"priority":206,"cookie_mask":"255","flow-name":"sctp-destination-port","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"barrier":false,"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]}},{"id":"328","table_id":2,"priority":205,"cookie_mask":"255","flow-name":"sctp-source-port-action","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"openflow:1:0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"barrier":false,"cookie":"205","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-source-port":1111}}]}}]}},{"id":"129","table_id":2,"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"40.4.0.0/16"},"barrier":false,"cookie":"6","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"327","table_id":2,"installHw":false,"priority":204,"cookie_mask":"255","flow-name":"set-field-udp-dst","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"204","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-destination-port":1234}}]}}]}},{"id":"128","table_id":2,"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"openflow:1:0"},"barrier":false,"cookie":"5","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"326","table_id":2,"installHw":false,"priority":203,"cookie_mask":"255","flow-name":"set-field-udp-src","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"203","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-source-port":2059}}]}}]}},{"id":"127","table_id":2,"installHw":false,"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":34887}}},"barrier":false,"cookie":"4","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]}},{"id":"325","table_id":2,"installHw":false,"priority":202,"cookie_mask":"255","flow-name":"set-field-tcp-dst","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]}},{"id":"126","table_id":2,"installHw":false,"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"barrier":false,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]}},{"id":"324","table_id":2,"installHw":false,"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]}},{"id":"125","table_id":2,"installHw":false,"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"barrier":false,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]}},{"id":"124","table_id":2,"installHw":false,"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"barrier":false,"cookie":"1","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"168","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"barrier":false,"out_group":4294967295},{"id":"145","table_id":2,"installHw":false,"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"22","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"343","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"220","instructions":{"instruction":[{"order":0,"write-metadata":{"metadata-mask":"12","metadata":"10"}}]},"priority":220,"cookie_mask":"255","flow-name":"flow-instruction-write-metadata","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"barrier":false,"out_group":4294967295},{"id":"144","table_id":2,"installHw":false,"priority":21,"cookie_mask":"255","flow-name":"FooXf21","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"342","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"219","instructions":{"instruction":[{"order":0,"clear-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"INPORT"}}]}}]},"priority":219,"cookie_mask":"255","flow-name":"flow-instruction-clear-actions","strict":false,"match":{"vlan-match":{"vlan-id":{"vlan-id":10,"vlan-id-present":true},"vlan-pcp":3}},"barrier":false,"out_group":4294967295},{"id":"143","table_id":2,"installHw":false,"priority":20,"cookie_mask":"255","flow-name":"FooXf20","strict":false,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"cookie":"20","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"output-node-connector":"LOCAL"}}]}}]}},{"id":"341","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"218","instructions":{"instruction":[{"order":0,"go-to-table":{"table_id":3}}]},"priority":218,"cookie_mask":"255","flow-name":"flow-instruction-go-to-table","strict":false,"match":{"tunnel":{"tunnel-mask":"65520","tunnel-id":"10656"}},"barrier":false,"out_group":4294967295},{"id":"142","table_id":2,"installHw":false,"priority":19,"cookie_mask":"255","flow-name":"FooXf19","strict":false,"match":{"metadata":{"metadata":"12345"}},"cookie":"19","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]}},{"id":"141","table_id":2,"installHw":false,"priority":18,"cookie_mask":"255","flow-name":"FooXf18","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-source":"fe80::2acf:e9ff:fe21:6431/128","ipv6-destination":"aabb:1234:2acf:e9ff::/64"},"cookie":"18","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"140","table_id":2,"priority":17,"cookie_mask":"255","flow-name":"FooXf17","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"protocol-match-fields":{"mpls-tc":3,"mpls-bos":1,"mpls-label":567}},"cookie":"17","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]}},{"id":"139","table_id":2,"priority":16,"cookie_mask":"255","flow-name":"FooXf16","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true},"vlan-pcp":3}},"cookie":"16","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"337","table_id":2,"installHw":false,"priority":214,"cookie_mask":"255","flow-name":"set-field-ip-ecn","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":60}},"cookie":"214","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"ip-match":{"ip-ecn":2}}}]}}]}},{"id":"138","table_id":2,"priority":15,"cookie_mask":"255","flow-name":"FooXf15","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true}}},"barrier":false,"cookie":"15","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]}},{"id":"137","table_id":2,"priority":14,"cookie_mask":"255","flow-name":"FooXf14","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:FC:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:FF:ff"},"ethernet-type":{"type":2054}},"arp-target-hardware-address":{"address":"FE:DC:BA:98:76:54"},"arp-source-transport-address":"192.168.4.1/32","arp-op":1,"arp-target-transport-address":"10.21.22.23/32","arp-source-hardware-address":{"address":"12:34:56:78:98:AB"}},"barrier":false,"cookie":"14","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]}},{"id":"233","table_id":2,"installHw":false,"priority":110,"cookie_mask":"255","flow-name":"push-vlan-action","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"vlan-id":1234,"ethernet-type":33024}}]}}]}},{"id":"232","table_id":2,"installHw":false,"priority":109,"cookie_mask":"255","flow-name":"FooXf109","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"109","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]}},{"id":"154","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"31","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"priority":31,"cookie_mask":"255","flow-name":"FooXf31","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"barrier":false,"out_group":4294967295},{"id":"231","table_id":2,"installHw":false,"priority":108,"cookie_mask":"255","flow-name":"FooXf108","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"108","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]}},{"id":"550","table_id":2,"priority":550,"flow-name":"flow-tunnel","idle-timeout":0,"match":{"openflowplugin-extension-general:extension-list":[{"extension-key":"openflowplugin-extension-nicira-match:nxm-nx-tun-ipv4-src-key","extension":{"openflowplugin-extension-nicira-match:nxm-nx-tun-ipv4-src":{"ipv4-address":"192.168.0.10"}}}]},"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"output-node-connector":"1"}}]}}]},"hard-timeout":0},{"id":"230","table_id":2,"installHw":false,"priority":107,"cookie_mask":"255","flow-name":"FooXf107","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"107","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"ALL"}}]}}]}},{"id":"229","table_id":2,"installHw":false,"priority":106,"cookie_mask":"255","flow-name":"FooXf106","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9ABC:DEF0:FDCD:A987:6000::/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"106","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"FLOOD"}}]}}]}},{"id":"228","table_id":2,"installHw":false,"priority":105,"cookie_mask":"255","flow-name":"FooXf105","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9ABC:DEF0:FDCD:A000::/84","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"105","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]}},{"id":"227","table_id":2,"installHw":false,"priority":104,"cookie_mask":"255","flow-name":"FooXf104","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"104","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"LOCAL"}}]}}]}},{"id":"348","flow-name":"Foo225","match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-source-address-no-mask":"2001:2001:2001:2001:0000:2001:4000:0000","ipv6-source-arbitrary-bitmask":"FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000"},"table_id":2,"priority":225,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"226","table_id":2,"installHw":false,"priority":103,"cookie_mask":"255","flow-name":"FooXf103","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"103","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]}},{"id":"347","flow-name":"Foo224","match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-destination-address-no-mask":"2001:2001:2001:2001:2001:2001:4000:7000","ipv6-destination-arbitrary-bitmask":"FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000"},"table_id":2,"priority":224,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"148","table_id":2,"installHw":false,"priority":25,"cookie_mask":"255","flow-name":"FooXf25","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":58,"ip-ecn":3,"ip-dscp":60},"icmpv6-match":{"icmpv6-code":3,"icmpv6-type":6}},"cookie":"25","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"225","table_id":2,"installHw":false,"priority":102,"cookie_mask":"255","flow-name":"FooXf102","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"102","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]}},{"id":"346","flow-name":"Foo223","match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination-address-no-mask":"7.0.17.0","ipv4-destination-arbitrary-bitmask":"255.0.241.0"},"table_id":2,"priority":223,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"147","table_id":2,"installHw":false,"priority":24,"cookie_mask":"255","flow-name":"FooXf24","strict":false,"match":{"tunnel":{"tunnel-id":"2591"}},"cookie":"24","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"output-node-connector":"TABLE"}}]}}]}},{"id":"224","table_id":2,"installHw":false,"priority":101,"cookie_mask":"255","flow-name":"FooXf101","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"101","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"TABLE"}}]}}]}},{"id":"345","flow-name":"Foo222","match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"2.2.0.0/16"},"table_id":2,"priority":222,"instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"146","table_id":2,"installHw":false,"priority":23,"cookie_mask":"255","flow-name":"FooXf23","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9ABC:DEF0:FDC0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"23","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}},{"id":"344","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"221","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"priority":221,"cookie_mask":"255","flow-name":"flow-instruction-write-actions","strict":false,"match":{"vlan-match":{"vlan-id":{"vlan-id":10,"vlan-id-present":true},"vlan-pcp":3}},"barrier":false,"out_group":4294967295},{"id":"166","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"43","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"priority":43,"cookie_mask":"255","flow-name":"FooXf43","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"barrier":false,"out_group":4294967295},{"id":"161","table_id":2,"installHw":false,"out_port":"4294967295","cookie":"38","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-queue-action":{"queue-id":1}}]}}]},"priority":38,"cookie_mask":"255","flow-name":"FooXf38","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"barrier":false,"out_group":4294967295},{"id":"159","table_id":2,"installHw":false,"priority":36,"cookie_mask":"255","flow-name":"FooXf36","strict":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"barrier":false,"cookie":"36","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"ip-match":{"ip-dscp":1}}}]}}]}},{"id":"236","table_id":2,"installHw":false,"priority":113,"cookie_mask":"255","flow-name":"push-mpls-action","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"113","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-mpls-action":{"ethernet-type":34888}}]}}]}},{"id":"279","table_id":2,"priority":156,"cookie_mask":"255","flow-name":"FooXf156","strict":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true},"vlan-pcp":3}},"barrier":false,"cookie":"156","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]}}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:55.907692" elapsed="0.003662"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-05-25T00:35:55.914224" level="INFO">Item found from container 57 times.</msg>
<arg>${resp.text}</arg>
<arg>priority</arg>
<arg>${flows}</arg>
<doc>Fails if ``container`` does not contain ``item`` ``count`` times.</doc>
<status status="PASS" start="2026-05-25T00:35:55.911571" elapsed="0.002811"/>
</kw>
<arg>openflow%3A1</arg>
<arg>${flows}</arg>
<doc>A GET on the /node=${node_id} inventory API is made and flow stats string is checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:35:55.890754" elapsed="0.023694"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>FlowLib.Check Flow Stats Are Available</arg>
<arg>openflow%3A1</arg>
<arg>${flows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:35:55.885880" elapsed="0.028618"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:35:55.916764" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:35:55.914659" elapsed="0.002162"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:35:56.062722" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=2.420s, table=0, n_packets=9, n_bytes=766, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x0, duration=0.001s, table=2, n_packets=0, n_bytes=0, priority=550,tun_src=192.168.0.10 actions=output:"s1-eth1"
 cookie=0x0, duration=0.076s, table=2, n_packets=0, n_bytes=0, priority=225,ipv6,ipv6_src=2001:2001:2001:2001:0:2001:4000:0/ffff:ffff:ffff:ffff:0:ffff:f000:0 actions=dec_ttl
 cookie=0x0, duration=0.109s, table=2, n_packets=0, n_bytes=0, priority=224,ipv6,ipv6_dst=2001:2001:2001:2001:2001:2001:4000:7000/ffff:ffff:ffff:ffff:ffff:ffff:f000:f000 actions=dec_ttl
 cookie=0x0, duration=0.153s, table=2, n_packets=0, n_bytes=0, priority=223,ip,nw_dst=7.0.17.0/255.0.241.0 actions=dec_ttl
 cookie=0x0, duration=0.192s, table=2, n_packets=0, n_bytes=0, priority=222,ip,nw_dst=2.2.0.0/16 actions=dec_ttl
 cookie=0xdb, duration=0.294s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xdd, duration=0.229s, table=2, n_packets=0, n_bytes=0, priority=221,dl_vlan=10,dl_vlan_pcp=3 actions=output:"s1-eth1"
 cookie=0x1, duration=2.229s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=dec_ttl
 cookie=0x1f, duration=1.304s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x24, duration=1.250s, table=2, n_packets=0, n_bytes=0, priority=36,ip,nw_dst=10.0.0.0/24 actions=set_field:1-&gt;ip_dscp
 cookie=0x26, duration=1.216s, table=2, n_packets=0, n_bytes=0, priority=38,ip,nw_dst=10.0.0.0/24 actions=set_queue:1
 cookie=0xdc, duration=0.254s, table=2, n_packets=0, n_bytes=0, priority=220,ip,nw_dst=10.0.0.0/24 actions=write_metadata:0xa/0xc
 cookie=0xda, duration=0.334s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=0.377s, table=2, n_packets=0, n_bytes=0, priority=214,ip,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=240,nw_ecn=1 actions=set_field:2-&gt;nw_ecn
 cookie=0x15, duration=1.514s, table=2, n_packets=0, n_bytes=0, priority=21,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80::2acf:e9ff:fe21:6431,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=dec_ttl
 cookie=0x16, duration=1.472s, table=2, n_packets=0, n_bytes=0, priority=22,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=dec_ttl
 cookie=0x65, duration=1.110s, table=2, n_packets=0, n_bytes=0, priority=101,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=TABLE
 cookie=0x68, duration=0.992s, table=2, n_packets=0, n_bytes=0, priority=104,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=LOCAL
 cookie=0xd1, duration=0.416s, table=2, n_packets=0, n_bytes=0, priority=209,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:0xa1f-&gt;tun_id
 cookie=0xa, duration=1.860s, table=2, n_packets=0, n_bytes=0, priority=10,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=dec_ttl
 cookie=0xb, duration=1.827s, table=2, n_packets=0, n_bytes=0, priority=11,icmp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=108,nw_ecn=3,icmp_type=6,icmp_code=3 actions=dec_ttl
 cookie=0xcd, duration=0.485s, table=2, n_packets=0, n_bytes=0, priority=205,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=set_field:1111-&gt;sctp_src
 cookie=0xce, duration=0.452s, table=2, n_packets=0, n_bytes=0, priority=206,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=set_field:1111-&gt;sctp_dst
 cookie=0xc9, duration=0.647s, table=2, n_packets=0, n_bytes=0, priority=201,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:2059-&gt;tcp_src
 cookie=0xca, duration=0.609s, table=2, n_packets=0, n_bytes=0, priority=202,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:1234-&gt;tcp_dst
 cookie=0xcb, duration=0.567s, table=2, n_packets=0, n_bytes=0, priority=203,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:2059-&gt;udp_src
 cookie=0xcc, duration=0.533s, table=2, n_packets=0, n_bytes=0, priority=204,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:1234-&gt;udp_dst
 cookie=0x10, duration=1.708s, table=2, n_packets=0, n_bytes=0, priority=16,ip,dl_vlan=78,dl_vlan_pcp=3,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=dec_ttl
 cookie=0x9c, duration=0.686s, table=2, n_packets=0, n_bytes=0, priority=156,ip,dl_vlan=78,dl_vlan_pcp=3,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=dec_ttl
 cookie=0x6b, duration=0.877s, table=2, n_packets=0, n_bytes=0, priority=107,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=ALL
 cookie=0x6c, duration=0.839s, table=2, n_packets=0, n_bytes=0, priority=108,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=CONTROLLER:60
 cookie=0x6d, duration=0.798s, table=2, n_packets=0, n_bytes=0, priority=109,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=NORMAL
 cookie=0x71, duration=0.718s, table=2, n_packets=0, n_bytes=0, priority=113,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=push_mpls:0x8848
 cookie=0x6e, duration=0.751s, table=2, n_packets=0, n_bytes=0, priority=110,tcp6,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=push_vlan:0x8100
 cookie=0x6a, duration=0.918s, table=2, n_packets=0, n_bytes=0, priority=106,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a987:6000:0/100,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=FLOOD
 cookie=0x69, duration=0.953s, table=2, n_packets=0, n_bytes=0, priority=105,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a000::/84,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=NORMAL
 cookie=0x66, duration=1.072s, table=2, n_packets=0, n_bytes=0, priority=102,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=IN_PORT
 cookie=0x67, duration=1.032s, table=2, n_packets=0, n_bytes=0, priority=103,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=output:"s1-eth1"
 cookie=0x2d, duration=1.147s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=drop
 cookie=0x2b, duration=1.187s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=dec_ttl
 cookie=0x17, duration=1.429s, table=2, n_packets=0, n_bytes=0, priority=23,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=dec_ttl
 cookie=0x19, duration=1.345s, table=2, n_packets=0, n_bytes=0, priority=25,icmp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,icmp_type=6,icmp_code=3 actions=dec_ttl
 cookie=0x18, duration=1.389s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=TABLE
 cookie=0x14, duration=1.555s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=LOCAL
 cookie=0x13, duration=1.588s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=IN_PORT
 cookie=0x12, duration=1.616s, table=2, n_packets=0, n_bytes=0, priority=18,ipv6,ipv6_src=fe80::2acf:e9ff:fe21:6431,ipv6_dst=aabb:1234:2acf:e9ff::/64 actions=dec_ttl
 cookie=0x11, duration=1.662s, table=2, n_packets=0, n_bytes=0, priority=17,mpls,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,mpls_label=567,mpls_tc=3,mpls_bos=1 actions=dec_mpls_ttl
 cookie=0xf, duration=1.741s, table=2, n_packets=0, n_bytes=0, priority=15,mpls,dl_vlan=78,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=dec_mpls_ttl
 cookie=0xe, duration=1.776s, table=2, n_packets=0, n_bytes=0, priority=14,arp,dl_src=00:00:fc:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=192.168.4.1,arp_tpa=10.21.22.23,arp_op=1,arp_sha=12:34:56:78:98:ab,arp_tha=fe:dc:ba:98:76:54 actions=CONTROLLER:60
 cookie=0x9, duration=1.898s, table=2, n_packets=0, n_bytes=0, priority=9,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.1.0.0/16,nw_dst=172.168.5.0/24,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=dec_ttl
 cookie=0x8, duration=1.934s, table=2, n_packets=0, n_bytes=0, priority=8,tcp,in_port=0,dl_src=00:00:00:11:23:00/ff:ff:ff:ff:ff:00,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=dec_ttl
 cookie=0x7, duration=1.981s, table=2, n_packets=0, n_bytes=0, priority=7,ip,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:ff:ff:ff:aa,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=60,nw_ecn=1 actions=dec_ttl
 cookie=0x6, duration=2.022s, table=2, n_packets=0, n_bytes=0, priority=6,ip,dl_src=00:00:00:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=40.4.0.0/16 actions=dec_ttl
 cookie=0x5, duration=2.059s, table=2, n_packets=0, n_bytes=0, priority=5,ip,in_port=0,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16 actions=dec_ttl
 cookie=0x4, duration=2.095s, table=2, n_packets=0, n_bytes=0, priority=4,mpls,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff actions=dec_mpls_ttl
 cookie=0x3, duration=2.150s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=drop
 cookie=0x2, duration=2.188s, table=2, n_packets=0, n_bytes=0, priority=2,ip,nw_src=10.0.0.1 actions=drop
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:35:55.916976" elapsed="0.145968"/>
</kw>
<doc>Add all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-05-25T00:35:53.650697" elapsed="2.412390"/>
</test>
<test id="s1-s3-s1-t2" name="Test Is Flow 1 Added" line="51">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.074228" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.074400" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.074083" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.075016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357790&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.074590" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.075501" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.075200" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.075955" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.075682" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.076446" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.076134" elapsed="0.000339"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.077427" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.076625" elapsed="0.000834"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.077971" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.077624" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.078521" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.078172" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.079050" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.078719" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.079580" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.079261" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.080103" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.079781" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.080672" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357790&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.080347" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.073743" elapsed="0.007028"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.081347" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.080926" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.081780" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.081531" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.089654" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.089340" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.110577" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.111070" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '553'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.111191" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.089852" elapsed="0.021364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.111665" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.111402" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.113918" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.111856" elapsed="0.002119"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.115868" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.114064" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.114035" elapsed="0.001919"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.118922" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.118969" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.116100" elapsed="0.002892"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.120819" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.119068" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.119049" elapsed="0.001853"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.120937" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:56.121149" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.121193" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.088999" elapsed="0.032217"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.123583" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.121795" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.121777" elapsed="0.001875"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.124209" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.123802" elapsed="0.000466"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.124793" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.124437" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.124869" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.125050" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.121455" elapsed="0.003620"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.125245" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.088414" elapsed="0.037299"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.133616" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.133309" elapsed="0.000378"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.169164" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.171006" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:F... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.171303" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.133823" elapsed="0.037508"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.171751" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.171494" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.174380" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.171942" elapsed="0.003151"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.176975" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.175165" elapsed="0.001861"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.175145" elapsed="0.001904"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.197815" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.197864" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.177191" elapsed="0.020698"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.199725" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.197969" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.197950" elapsed="0.001858"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.199842" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.200041" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.200086" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.132913" elapsed="0.067196"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.202352" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.200716" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.200697" elapsed="0.001725"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.202977" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.202572" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.203543" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.203169" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.203620" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.203917" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.200377" elapsed="0.003566"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.204100" elapsed="0.000428"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.132289" elapsed="0.072305"/>
</kw>
<arg>f1.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.070382" elapsed="0.134274"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.063323" elapsed="0.141640"/>
</test>
<test id="s1-s3-s1-t3" name="Test Is Flow 2 Added" line="53">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.217830" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.218020" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.217686" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.218622" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.218206" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.219086" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.218805" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.219556" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.219282" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.220005" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.219733" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.220831" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.220182" elapsed="0.000680"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.221368" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.221020" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.221937" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.221610" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.222478" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.222132" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.222987" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.222672" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.223521" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.223183" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.224054" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.223723" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.217349" elapsed="0.006803"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.224742" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.224354" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.225166" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.224924" elapsed="0.000299"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.233042" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.232736" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.241406" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.241855" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '544'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.241971" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.233200" elapsed="0.008796"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.242432" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.242157" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.244800" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.242620" elapsed="0.002271"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.246747" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.244967" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.244946" elapsed="0.001875"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.249684" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.249730" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.246963" elapsed="0.002790"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.251552" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.249829" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.249810" elapsed="0.001823"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.251667" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:35:56.251870" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.251914" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.232412" elapsed="0.019524"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.254155" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.252550" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.252532" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.254815" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.254392" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.255399" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.255006" elapsed="0.000419"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.255476" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.255656" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.252166" elapsed="0.003515"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.255839" elapsed="0.000449"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.231795" elapsed="0.024561"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.264374" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.264025" elapsed="0.000377"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.286066" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.286521" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:F... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.286849" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.264537" elapsed="0.022339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.287348" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.287055" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.290071" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.287542" elapsed="0.003264"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.292686" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.290888" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.290863" elapsed="0.001899"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.312900" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.312949" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.292903" elapsed="0.020070"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.314787" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.313053" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.313034" elapsed="0.001835"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.314904" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:56.315108" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.315154" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.263644" elapsed="0.051533"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.317412" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.315762" elapsed="0.001697"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.315743" elapsed="0.001739"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.318041" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.317634" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.318610" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.318248" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.318688" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:35:56.318877" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.315417" elapsed="0.003486"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.319061" elapsed="0.000416"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.263006" elapsed="0.056535"/>
</kw>
<arg>f2.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.213996" elapsed="0.105605"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.205284" elapsed="0.114443"/>
</test>
<test id="s1-s3-s1-t4" name="Test Is Flow 3 Added" line="55">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.331586" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.331745" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.331441" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.332377" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.331926" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.332839" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.332559" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.333301" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.333015" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.333744" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.333476" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.334519" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.333918" elapsed="0.000632"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.335048" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.334714" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.335788" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.335301" elapsed="0.000532"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.336408" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.335992" elapsed="0.000461"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.336934" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.336611" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.337477" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.337135" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.338004" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.337677" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.331097" elapsed="0.007006"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.338660" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.338271" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.339086" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.338843" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.346908" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.346603" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.353260" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.353706" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '529'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.353811" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.347066" elapsed="0.006771"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.354267" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.353997" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.356463" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.354457" elapsed="0.002063"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.358393" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.356630" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.356606" elapsed="0.001862"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.361211" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.361277" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.358610" elapsed="0.002693"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.364438" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.361378" elapsed="0.003192"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.361360" elapsed="0.003267"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.364704" elapsed="0.000064"/>
</return>
<msg time="2026-05-25T00:35:56.365148" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.365283" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.346282" elapsed="0.019057"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.370273" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.366589" elapsed="0.003790"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.366549" elapsed="0.003882"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.371699" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.370758" elapsed="0.001001"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.372764" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.372125" elapsed="0.000666"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.372842" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.373023" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.365813" elapsed="0.007236"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.373207" elapsed="0.000418"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.345708" elapsed="0.027982"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.381735" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.381425" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.401213" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.402179" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:F... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.402888" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.381895" elapsed="0.021054"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.403961" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.403362" elapsed="0.000702"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.409260" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.404445" elapsed="0.005900"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.412940" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.410457" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.410425" elapsed="0.002619"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.436862" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.436911" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.413261" elapsed="0.023674"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.438769" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.437017" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.436997" elapsed="0.001854"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.438885" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:35:56.439090" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.439134" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.381027" elapsed="0.058130"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.441454" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.439757" elapsed="0.001745"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.439739" elapsed="0.001786"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.442098" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.441679" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.442662" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.442307" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.442739" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.442919" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.439408" elapsed="0.003537"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.443100" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.380398" elapsed="0.063181"/>
</kw>
<arg>f3.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.327783" elapsed="0.115852"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.320702" elapsed="0.123058"/>
</test>
<test id="s1-s3-s1-t5" name="Test Is Flow 4 Added" line="57">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.454944" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.455109" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.454801" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.455714" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.455304" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.456217" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.455894" elapsed="0.000369"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.456694" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.456422" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.457139" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.456869" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.458095" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.457332" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.458647" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.458301" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.459215" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.458886" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.459763" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.459430" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.460390" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.459988" elapsed="0.000450"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.460930" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.460599" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.461478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.461133" elapsed="0.000388"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.454468" elapsed="0.007109"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.462116" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.461731" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.462560" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.462316" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.470566" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.470250" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.477999" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.478740" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '660'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.478890" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.470724" elapsed="0.008201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.479526" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.479149" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.482726" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.479796" elapsed="0.003066"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.485471" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.482965" elapsed="0.002577"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.482937" elapsed="0.002638"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.489514" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.489562" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.485777" elapsed="0.003808"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.491685" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.489661" elapsed="0.002081"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.489642" elapsed="0.002126"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.491802" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:35:56.492018" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.492064" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.469888" elapsed="0.022199"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.494352" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.492705" elapsed="0.001696"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.492686" elapsed="0.001738"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.494988" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.494583" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.495559" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.495182" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.495637" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:35:56.495855" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.492355" elapsed="0.003528"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.496059" elapsed="0.000491"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.469328" elapsed="0.027288"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.504599" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.504294" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.520221" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.521205" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:F... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.521881" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.504757" elapsed="0.017184"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.522909" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.522330" elapsed="0.000686"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.527266" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.523374" elapsed="0.004980"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.530988" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.528455" elapsed="0.002604"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.528428" elapsed="0.002663"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.553671" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.553720" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.531310" elapsed="0.022434"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.555579" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.553824" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.553805" elapsed="0.001862"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.555702" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.555902" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.555947" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.503857" elapsed="0.052113"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.558260" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.556562" elapsed="0.001747"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.556543" elapsed="0.001789"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.558888" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.558481" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.559453" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.559081" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.559529" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.559711" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.556208" elapsed="0.003528"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.559893" elapsed="0.000471"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.503219" elapsed="0.057210"/>
</kw>
<arg>f4.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.451132" elapsed="0.109355"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.444097" elapsed="0.116509"/>
</test>
<test id="s1-s3-s1-t6" name="Test Is Flow 5 Added" line="59">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.571696" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.571940" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.571555" elapsed="0.000416"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.572588" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8a90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.572153" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.573054" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.572770" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.573521" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.573247" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.573970" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.573700" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.574825" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.574147" elapsed="0.000709"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.575368" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.575019" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.575939" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.575607" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.576513" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.576162" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.577031" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.576711" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.577570" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.577245" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.578092" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8a90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.577770" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.571205" elapsed="0.006984"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.578738" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.578357" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.579162" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.578922" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.587177" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.586873" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.592401" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.592956" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '746'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.593063" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.587351" elapsed="0.005738"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.593529" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.593271" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.595709" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.593719" elapsed="0.002082"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.597668" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.595873" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.595853" elapsed="0.001889"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.600852" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.600918" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.597882" elapsed="0.003069"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.603526" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.601056" elapsed="0.002551"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.601030" elapsed="0.002612"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.603689" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:35:56.603964" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.604027" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.586547" elapsed="0.017539"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.607181" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.604900" elapsed="0.002365"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.604876" elapsed="0.002422"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.608100" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.607506" elapsed="0.000634"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.608888" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.608392" elapsed="0.000533"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.608995" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:35:56.609265" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.604426" elapsed="0.004878"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.609532" elapsed="0.000564"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.585967" elapsed="0.024219"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.619669" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.619352" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.640960" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.645322" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.645988" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.619838" elapsed="0.026212"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.647019" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.646448" elapsed="0.000673"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.652669" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.647474" elapsed="0.006257"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.655568" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.653806" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.653785" elapsed="0.001857"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.681631" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.681679" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.655783" elapsed="0.025919"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.683750" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.681782" elapsed="0.002025"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.681764" elapsed="0.002068"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.683865" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:56.684084" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.684129" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.618948" elapsed="0.065203"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.686331" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.684726" elapsed="0.001651"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.684708" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.686951" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.686548" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.687511" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.687141" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.687586" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.687766" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.684389" elapsed="0.003402"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.687954" elapsed="0.000465"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.618265" elapsed="0.070220"/>
</kw>
<arg>f5.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.567866" elapsed="0.120677"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.560953" elapsed="0.127713"/>
</test>
<test id="s1-s3-s1-t7" name="Test Is Flow 6 Added" line="61">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.699696" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.699856" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.699553" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.700508" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4ae0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.700066" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.700983" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.700701" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.701450" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.701158" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.701898" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.701624" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.702735" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.702071" elapsed="0.000694"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.703267" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.702923" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.703833" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.703503" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.704406" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.704048" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.704915" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.704601" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.705446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.705110" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.705960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4ae0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.705642" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.699211" elapsed="0.006845"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.706601" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.706204" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.707034" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.706794" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.716206" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.715887" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.721928" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.723196" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '715'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.723476" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.716386" elapsed="0.007148"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.724553" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.723906" elapsed="0.000750"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.729565" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.724973" elapsed="0.004802"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.733262" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.729940" elapsed="0.003376"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.729893" elapsed="0.003447"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.736352" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.736400" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.733484" elapsed="0.002940"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.738225" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.736499" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.736481" elapsed="0.001840"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.738356" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:56.738557" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.738602" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.715570" elapsed="0.023056"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.740855" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.739188" elapsed="0.001715"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.739170" elapsed="0.001756"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.741497" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.741075" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.742040" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.741688" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.742115" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:56.742312" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.738851" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.742501" elapsed="0.000392"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.714992" elapsed="0.027966"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.751019" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.750716" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.777323" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.778314" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.779124" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.751177" elapsed="0.028011"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.780223" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.779603" elapsed="0.000759"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.785570" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.780683" elapsed="0.006352"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.789642" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.787141" elapsed="0.002571"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.787112" elapsed="0.002632"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.816619" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.816667" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.790067" elapsed="0.026624"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.818573" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.816770" elapsed="0.001860"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.816751" elapsed="0.001905"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.818690" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:35:56.818894" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.818939" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.750335" elapsed="0.068627"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.821180" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.819543" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.819525" elapsed="0.001739"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.821826" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.821417" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.822385" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.822017" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.822461" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:56.822640" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.819188" elapsed="0.003485"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.822867" elapsed="0.000426"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.749693" elapsed="0.073666"/>
</kw>
<arg>f6.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.695913" elapsed="0.127504"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.689000" elapsed="0.134545"/>
</test>
<test id="s1-s3-s1-t8" name="Test Is Flow 7 Added" line="63">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.834893" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.835049" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.834743" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.835707" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8860&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.835255" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.836274" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.835925" elapsed="0.000378"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.836745" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.836460" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.837201" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.836925" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.838130" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.837395" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.838672" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.838338" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.839288" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.838908" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.839832" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.839488" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.840406" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.840066" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.840921" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.840603" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.841452" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8860&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.841116" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.834399" elapsed="0.007150"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.842077" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.841698" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.842515" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.842273" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.852011" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.851691" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.857911" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.858552" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '835'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.858672" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.852168" elapsed="0.006529"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.859117" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.858861" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.861369" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.859354" elapsed="0.002078"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.863272" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.861505" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.861483" elapsed="0.001864"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.867261" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.867330" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.863486" elapsed="0.003877"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.869869" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.867467" elapsed="0.002479"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.867441" elapsed="0.002540"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.870028" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:35:56.870322" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:56.870385" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.851372" elapsed="0.019045"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.873435" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.871177" elapsed="0.002323"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.871152" elapsed="0.002380"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.874327" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.873735" elapsed="0.000640"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.875096" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.874604" elapsed="0.000529"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.875201" elapsed="0.000062"/>
</return>
<msg time="2026-05-25T00:35:56.875477" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.870711" elapsed="0.004802"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.875731" elapsed="0.000604"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.850792" elapsed="0.025631"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.884599" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.884270" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.909351" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.910300" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:56.910950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.884757" elapsed="0.026253"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.912028" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.911411" elapsed="0.000721"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.917415" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.912502" elapsed="0.006322"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.921921" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.918942" elapsed="0.003058"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.918907" elapsed="0.003127"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.950935" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:56.950991" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:56.922313" elapsed="0.028702"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:56.953063" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:56.951117" elapsed="0.002007"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.951091" elapsed="0.002060"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:56.953189" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:35:56.953422" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:56.953467" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.883774" elapsed="0.069715"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.955725" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.954109" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.954091" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.956458" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.955964" elapsed="0.000522"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.957004" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.956649" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:56.957079" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:56.957278" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:56.953748" elapsed="0.003557"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:56.957465" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.883139" elapsed="0.074793"/>
</kw>
<arg>f7.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.830836" elapsed="0.127155"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.823921" elapsed="0.134197"/>
</test>
<test id="s1-s3-s1-t9" name="Test Is Flow 8 Added" line="65">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:56.969257" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:56.969426" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:56.969091" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:56.970052" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cae30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:56.969610" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.970535" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.970250" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.970981" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.970713" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:56.971445" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:56.971157" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:56.972461" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:56.971622" elapsed="0.000871"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.972985" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.972652" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.973591" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.973262" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.974116" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.973788" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.974648" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.974326" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.975167" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.974846" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.975705" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cae30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:56.975383" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:56.968755" elapsed="0.007048"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.976368" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:56.975971" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.976806" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.976563" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.984873" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:56.984558" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:56.990895" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:56.991625" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '954'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:56.991738" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:56.985033" elapsed="0.006731"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.992295" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.992011" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:56.995476" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:56.992486" elapsed="0.003076"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:56.998146" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:56.995674" elapsed="0.002545"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:56.995642" elapsed="0.002628"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.002844" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.002910" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:56.998470" elapsed="0.004472"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.005305" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.003046" elapsed="0.002316"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.003020" elapsed="0.002368"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.005421" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:35:57.005626" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.005670" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:56.984207" elapsed="0.021486"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.010057" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.006281" elapsed="0.003824"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.006261" elapsed="0.003867"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.010710" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.010293" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.011272" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.010901" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.011349" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:57.011531" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.005927" elapsed="0.005630"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.011717" elapsed="0.000415"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:56.983588" elapsed="0.028609"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.020095" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.019775" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.035292" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.035869" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.036336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.020279" elapsed="0.016096"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.036968" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.036607" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.040678" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.037229" elapsed="0.004885"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.044757" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.042218" elapsed="0.002610"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.042189" elapsed="0.002671"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.105475" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.105541" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.045055" elapsed="0.060510"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.107529" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.105683" elapsed="0.001905"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.105655" elapsed="0.001960"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.107653" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:35:57.107873" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.107937" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.019395" elapsed="0.088565"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.110175" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.108580" elapsed="0.001641"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.108562" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.110865" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.110410" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.111427" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.111055" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.111504" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.111685" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.108208" elapsed="0.003502"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.111869" elapsed="0.000461"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.018756" elapsed="0.093638"/>
</kw>
<arg>f8.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:56.965421" elapsed="0.147031"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:56.958480" elapsed="0.154096"/>
</test>
<test id="s1-s3-s1-t10" name="Test Is Flow 9 Added" line="67">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.123662" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.123826" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.123518" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.124476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.124028" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.124941" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.124658" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.125406" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.125118" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.125851" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.125581" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.126916" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.126026" elapsed="0.000922"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.127457" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.127106" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.128101" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.127727" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.128647" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.128315" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.129155" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.128840" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.129686" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.129366" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.130203" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.129882" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.123171" elapsed="0.007145"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.130848" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.130467" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.131294" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.131031" elapsed="0.000329"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.139072" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.138766" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.146916" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.147633" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '926'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.147748" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.139230" elapsed="0.008544"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.148313" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.148025" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.153186" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.148509" elapsed="0.004860"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.158024" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.153542" elapsed="0.004609"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.153495" elapsed="0.004713"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.163091" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.163138" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.158587" elapsed="0.004574"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.165022" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.163252" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.163219" elapsed="0.001885"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.165138" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:35:57.165357" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.165402" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.138446" elapsed="0.026979"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.167625" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.165984" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.165967" elapsed="0.001733"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.168297" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.167849" elapsed="0.000475"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.168843" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.168490" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.168920" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.169100" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.165647" elapsed="0.003479"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.169299" elapsed="0.000395"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.137870" elapsed="0.031889"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.178075" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.177767" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.192077" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.193098" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.193955" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.178259" elapsed="0.015763"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.195113" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.194473" elapsed="0.000752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.201021" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.195602" elapsed="0.006761"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.205021" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.202474" elapsed="0.002623"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.202442" elapsed="0.002690"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.232889" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.232948" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.205376" elapsed="0.027597"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.234955" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.233086" elapsed="0.001929"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.233058" elapsed="0.001984"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.235081" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:57.235317" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.235363" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.177371" elapsed="0.058016"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.237791" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.236173" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.236153" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.238482" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.238013" elapsed="0.000497"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.239028" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.238673" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.239104" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.239309" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.235638" elapsed="0.003697"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.239496" elapsed="0.000586"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.176678" elapsed="0.063468"/>
</kw>
<arg>f9.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.119864" elapsed="0.120341"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.112936" elapsed="0.127414"/>
</test>
<test id="s1-s3-s1-t11" name="Test Is Flow 10 Added" line="69">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.251765" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.251956" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.251612" elapsed="0.000374"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.252621" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.252150" elapsed="0.000502"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.253097" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.252811" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.253567" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.253293" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.254021" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.253747" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.255153" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.254200" elapsed="0.000984"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.255712" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.255364" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.256362" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.256009" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.256900" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.256563" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.257429" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.257094" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.257949" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.257627" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.258486" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.258147" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.251270" elapsed="0.007318"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.259141" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.258740" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.259591" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.259342" elapsed="0.000315"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.267639" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.267302" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.275262" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.276006" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '930'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.276153" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.267802" elapsed="0.008378"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.276810" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.276494" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.279162" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.277003" elapsed="0.002245"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.281497" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.279351" elapsed="0.002226"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.279321" elapsed="0.002291"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.286526" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.286598" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.281867" elapsed="0.004767"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.289732" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.286755" elapsed="0.003064"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.286725" elapsed="0.003134"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.289912" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:35:57.290228" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.290318" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.266951" elapsed="0.023403"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.293390" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.291271" elapsed="0.002171"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.291219" elapsed="0.002246"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.294126" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.293645" elapsed="0.000509"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.294690" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.294338" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.294767" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:35:57.294956" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.290716" elapsed="0.004266"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.295142" elapsed="0.000433"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.266326" elapsed="0.029315"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.303953" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.303541" elapsed="0.000444"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.317689" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.318719" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.319459" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.304126" elapsed="0.015393"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.320784" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.320052" elapsed="0.000839"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.327010" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.321209" elapsed="0.008213"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.333737" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.329647" elapsed="0.004212"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.329586" elapsed="0.004325"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.364189" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.364254" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.334352" elapsed="0.029928"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.366275" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.364363" elapsed="0.001984"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.364343" elapsed="0.002038"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.366424" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:35:57.366683" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.366740" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.303117" elapsed="0.063652"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.369691" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.367557" elapsed="0.002198"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.367533" elapsed="0.002250"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.370591" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.369984" elapsed="0.000642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.371300" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.370838" elapsed="0.000496"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.371398" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:57.371622" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.367094" elapsed="0.004560"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.371879" elapsed="0.000526"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.302379" elapsed="0.070108"/>
</kw>
<arg>f10.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.247918" elapsed="0.124647"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.240668" elapsed="0.132065"/>
</test>
<test id="s1-s3-s1-t12" name="Test Is Flow 11 Added" line="71">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.386441" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.386627" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.386249" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.387364" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9d00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.386851" elapsed="0.000550"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.387975" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.387595" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.388563" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.388204" elapsed="0.000392"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.389137" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.388797" elapsed="0.000374"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.390533" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.389385" elapsed="0.001181"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.391113" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.390739" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.391753" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.391410" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.392419" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.391993" elapsed="0.000472"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.393045" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.392662" elapsed="0.000442"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.393714" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.393323" elapsed="0.000448"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.394393" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9d00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.393968" elapsed="0.000479"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.385801" elapsed="0.008712"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.395185" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.394710" elapsed="0.000515"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.395736" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.395436" elapsed="0.000416"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.405297" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.404878" elapsed="0.000455"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.413560" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.414561" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '900'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.414766" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.405500" elapsed="0.009311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.415613" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.415152" elapsed="0.000528"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.418761" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.415923" elapsed="0.002924"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.421540" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.418947" elapsed="0.002664"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.418918" elapsed="0.002725"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.425952" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.425999" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.421845" elapsed="0.004177"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.428290" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.426098" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.426079" elapsed="0.002309"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.428425" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.428639" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.428686" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.404469" elapsed="0.024240"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.430926" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.429302" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.429282" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.431566" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.431145" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.432151" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.431796" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.432227" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:35:57.432424" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.428936" elapsed="0.003513"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.432605" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.403641" elapsed="0.029413"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.441016" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.440717" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.458487" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.459431" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.460196" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.441172" elapsed="0.019113"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.461217" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.460650" elapsed="0.000702"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.466333" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.461737" elapsed="0.005926"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.470259" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.467789" elapsed="0.002543"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.467738" elapsed="0.002625"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.499604" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.499665" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.470560" elapsed="0.029136"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.501936" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.499817" elapsed="0.002188"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.499793" elapsed="0.002246"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.502081" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:35:57.502341" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.502397" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.440337" elapsed="0.062089"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.505201" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.503115" elapsed="0.002153"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.503092" elapsed="0.002209"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.505904" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.505458" elapsed="0.000480"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.506525" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.506140" elapsed="0.000412"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.506602" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:57.506785" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.502703" elapsed="0.004108"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.506997" elapsed="0.000478"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.439670" elapsed="0.067886"/>
</kw>
<arg>f11.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.381657" elapsed="0.125972"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.373142" elapsed="0.134662"/>
</test>
<test id="s1-s3-s1-t13" name="Test Is Flow 14 Added" line="73">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.520759" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.520953" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.520586" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.521637" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.521152" elapsed="0.000521"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.522169" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.521850" elapsed="0.000353"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.522713" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.522419" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.523172" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.522898" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.524332" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.523379" elapsed="0.000989"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.524980" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.524559" elapsed="0.000474"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.525710" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.525294" elapsed="0.000468"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.526333" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.525932" elapsed="0.000447"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.526936" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.526557" elapsed="0.000436"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.527610" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.527186" elapsed="0.000484"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.528331" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.527905" elapsed="0.000480"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.520159" elapsed="0.008299"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.529125" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.528653" elapsed="0.000511"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.529680" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.529379" elapsed="0.000387"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.537828" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.537524" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.543510" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.544314" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1092'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.544457" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.537986" elapsed="0.006498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.544934" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.544665" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.547210" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.545123" elapsed="0.002166"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.549107" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.547361" elapsed="0.001796"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.547341" elapsed="0.001839"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.552274" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.552322" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.549334" elapsed="0.003011"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.554922" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.552419" elapsed="0.002581"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.552401" elapsed="0.002634"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.555081" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:35:57.555373" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.555434" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.537189" elapsed="0.018277"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.558500" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.556266" elapsed="0.002299"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.556222" elapsed="0.002374"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.559379" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.558802" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.560161" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.559645" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.560290" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:35:57.560544" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.555784" elapsed="0.004795"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.560804" elapsed="0.000557"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.536629" elapsed="0.024821"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.570253" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.569938" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.598300" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.599319" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.600050" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.570411" elapsed="0.029705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.601139" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.600534" elapsed="0.000745"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.607597" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.601626" elapsed="0.007578"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.611039" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.609296" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.609276" elapsed="0.001834"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.639888" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.639937" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.611263" elapsed="0.028698"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.641802" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.640045" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.640024" elapsed="0.001862"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.641920" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:57.642120" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.642164" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.569562" elapsed="0.072625"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.644429" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.642770" elapsed="0.001705"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.642751" elapsed="0.001747"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.645062" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.644647" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.645624" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.645269" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.645700" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:57.645880" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.642428" elapsed="0.003477"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.646062" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.568925" elapsed="0.077611"/>
</kw>
<arg>f14.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.516604" elapsed="0.129988"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.508351" elapsed="0.138360"/>
</test>
<test id="s1-s3-s1-t14" name="Test Is Flow 15 Added" line="75">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.657738" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.657882" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.657598" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.658490" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4ae0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.658062" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.658953" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.658671" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.659415" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.659130" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.660445" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.659592" elapsed="0.000959"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.663169" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.661043" elapsed="0.002239"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.664839" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.663666" elapsed="0.001277"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.666213" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.665463" elapsed="0.000880"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.667455" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.666693" elapsed="0.000857"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.668677" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.667934" elapsed="0.000845"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.669874" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.669121" elapsed="0.000855"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.671072" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4ae0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.670347" elapsed="0.000820"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.657267" elapsed="0.014065"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.672745" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.671680" elapsed="0.001134"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.673731" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.673155" elapsed="0.000714"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.683306" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.682966" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.689378" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.689984" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '739'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.690093" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.683472" elapsed="0.006646"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.690568" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.690299" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.692965" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.690763" elapsed="0.002303"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.694954" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.693161" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.693134" elapsed="0.001901"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.698665" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.698730" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.695188" elapsed="0.003575"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.701508" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.698867" elapsed="0.002719"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.698841" elapsed="0.002780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.701669" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:35:57.701955" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.702016" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.682643" elapsed="0.019405"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.705099" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.702845" elapsed="0.002319"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.702820" elapsed="0.002376"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.706000" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.705423" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.706784" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.706288" elapsed="0.000534"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.706891" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:35:57.707141" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.702369" elapsed="0.004807"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.707418" elapsed="0.000587"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.682016" elapsed="0.026077"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.716279" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.715962" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.734563" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.735523" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.736196" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.716439" elapsed="0.019848"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.737224" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.736651" elapsed="0.000710"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.742843" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.737682" elapsed="0.007489"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.749000" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.745368" elapsed="0.003682"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.745322" elapsed="0.003751"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.778191" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.778252" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.749215" elapsed="0.029062"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.780166" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.778372" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.778353" elapsed="0.001910"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.780298" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:57.780496" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.780540" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.715547" elapsed="0.065016"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.782751" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.781120" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.781103" elapsed="0.001717"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.783406" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.782970" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.783998" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.783611" elapsed="0.000414"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.784074" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.784277" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.780785" elapsed="0.003519"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.784462" elapsed="0.000416"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.714897" elapsed="0.070044"/>
</kw>
<arg>f15.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.653909" elapsed="0.131089"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.646986" elapsed="0.138153"/>
</test>
<test id="s1-s3-s1-t15" name="Test Is Flow 16 Added" line="77">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.796511" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.796672" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.796364" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.797313" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.796867" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.797783" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.797493" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.798261" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.797976" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.798709" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.798439" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.799607" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.798886" elapsed="0.000762"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.800158" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.799811" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.800907" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.800407" elapsed="0.000544"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.801475" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.801108" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.801988" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.801672" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.802537" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.802186" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.803077" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.802736" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.796021" elapsed="0.007153"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.803779" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.803340" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.804204" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.803963" elapsed="0.000320"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.812103" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.811797" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.819146" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.819759" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '734'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.819868" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.812275" elapsed="0.007619"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.820342" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.820056" elapsed="0.000334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.822591" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.820543" elapsed="0.002142"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.824619" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.822757" elapsed="0.001927"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.822737" elapsed="0.001982"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.829022" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.829087" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.824926" elapsed="0.004194"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.831756" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.829224" elapsed="0.002619"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.829198" elapsed="0.002680"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.831925" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:35:57.832198" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.832290" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.811469" elapsed="0.020854"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.834787" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.832971" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.832953" elapsed="0.001905"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.835424" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.835007" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.835986" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.835616" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.836062" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:57.836256" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.832618" elapsed="0.003665"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.836442" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.810887" elapsed="0.026005"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.844927" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.844617" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.863064" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.864053" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.864728" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.845084" elapsed="0.019705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.865755" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.865152" elapsed="0.000705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.871582" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.866179" elapsed="0.007179"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.875389" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.873441" elapsed="0.002000"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.873418" elapsed="0.002045"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.903967" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.904015" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:57.875637" elapsed="0.028401"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.905889" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.904117" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.904098" elapsed="0.001873"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.906004" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:35:57.906213" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:57.906274" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.844218" elapsed="0.062080"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.908543" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.906879" elapsed="0.001710"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.906861" elapsed="0.001750"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.909198" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.908764" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.909761" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.909407" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.909837" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.910017" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.906536" elapsed="0.003506"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.910200" elapsed="0.000413"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.843569" elapsed="0.067113"/>
</kw>
<arg>f16.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.792553" elapsed="0.118186"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.785496" elapsed="0.125371"/>
</test>
<test id="s1-s3-s1-t16" name="Test Is Flow 17 Added" line="79">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:57.922100" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:57.922279" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:57.921953" elapsed="0.000357"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:57.922881" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fabb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:57.922465" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.923364" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.923061" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.923862" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.923541" elapsed="0.000347"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:57.924338" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:57.924038" elapsed="0.000326"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.925201" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:57.924514" elapsed="0.000717"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.925740" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.925408" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.926328" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.925976" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.926850" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.926523" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.927374" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.927042" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.927920" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.927571" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.928461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fabb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:57.928116" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:57.921620" elapsed="0.006937"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.929090" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.928707" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.929529" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.929288" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.937585" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.937261" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.944804" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.945404" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '728'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:57.945514" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.937746" elapsed="0.007795"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.945975" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.945710" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.948255" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.946166" elapsed="0.002182"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.950850" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.948423" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.948403" elapsed="0.002552"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:57.955137" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:57.955202" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:57.951152" elapsed="0.004101"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:57.957832" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:57.955360" elapsed="0.002550"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.955334" elapsed="0.002613"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:57.957996" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:35:57.958289" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:57.958354" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.936925" elapsed="0.021461"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:57.961305" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.959154" elapsed="0.002198"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.959130" elapsed="0.002246"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.961945" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.961542" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.962507" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:57.962136" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:57.962583" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:57.962764" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:57.958679" elapsed="0.004111"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:57.962947" elapsed="0.000410"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.936360" elapsed="0.027061"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.971556" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:57.971253" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:57.988979" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:57.989943" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:57.990612" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:57.971754" elapsed="0.018922"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.991670" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.991039" elapsed="0.000741"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:57.997334" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:57.992103" elapsed="0.007595"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.002076" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:57.999862" elapsed="0.002263"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:57.999819" elapsed="0.002329"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.030181" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.030231" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.002302" elapsed="0.027968"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.032103" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.030350" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.030331" elapsed="0.001854"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.032219" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:35:58.032433" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.032478" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:57.970863" elapsed="0.061638"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.034670" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.033054" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.033036" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.035309" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.034886" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.035906" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.035500" elapsed="0.000434"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.035983" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:58.036162" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.032720" elapsed="0.003467"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.036360" elapsed="0.000391"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:57.970222" elapsed="0.066592"/>
</kw>
<arg>f17.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:57.918169" elapsed="0.118702"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:57.911178" elapsed="0.125819"/>
</test>
<test id="s1-s3-s1-t17" name="Test Is Flow 18 Added" line="81">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.047989" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.048154" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.047846" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.048783" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.048359" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.049266" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.048964" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.049729" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.049457" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.050186" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.049915" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.050963" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.050378" elapsed="0.000616"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.051493" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.051147" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.052100" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.051747" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.052634" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.052307" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.053134" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.052823" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.053662" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.053344" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.054173" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.053856" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.047465" elapsed="0.006828"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.054823" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.054441" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.055257" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.055004" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.063193" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.062892" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.071148" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.071855" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '602'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.072003" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.063367" elapsed="0.008672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.072637" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.072282" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.075747" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.072902" elapsed="0.003089"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.078559" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.076091" elapsed="0.002537"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.076064" elapsed="0.002596"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.083252" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.083324" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.078854" elapsed="0.004503"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.085943" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.083469" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.083441" elapsed="0.002630"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.086121" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:35:58.086434" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.086514" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.062576" elapsed="0.023971"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.089630" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.087355" elapsed="0.002340"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.087330" elapsed="0.002396"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.090559" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.089930" elapsed="0.000667"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.091341" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.090829" elapsed="0.000548"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.091447" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:35:58.091745" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.086862" elapsed="0.004920"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.091998" elapsed="0.000570"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.062003" elapsed="0.030655"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.100836" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.100527" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.119278" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.120305" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.120972" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.100995" elapsed="0.020036"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.121993" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.121422" elapsed="0.000673"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.127715" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.122461" elapsed="0.007656"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.133453" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.130308" elapsed="0.003196"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.130261" elapsed="0.003265"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.161572" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.161621" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.133667" elapsed="0.027977"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.163495" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.161727" elapsed="0.001868"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.161707" elapsed="0.001914"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.163657" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:35:58.163863" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.163906" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.100127" elapsed="0.063802"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.166097" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.164518" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.164500" elapsed="0.001665"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.166751" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.166329" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.167314" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.166941" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.167407" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:35:58.167619" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.164158" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.167804" elapsed="0.000397"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.099345" elapsed="0.068937"/>
</kw>
<arg>f18.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.044146" elapsed="0.124194"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.037190" elapsed="0.131282"/>
</test>
<test id="s1-s3-s1-t18" name="Test Is Flow 19 Added" line="83">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.179501" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.179677" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.179356" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.180440" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e6b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.180013" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.180905" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.180623" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.181368" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.181081" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.181815" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.181546" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.182588" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.181991" elapsed="0.000628"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.183296" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.182949" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.183898" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.183571" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.184432" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.184091" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.184938" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.184624" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.185468" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.185132" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.185984" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e6b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.185663" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.179010" elapsed="0.007071"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.186628" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.186229" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.187050" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.186810" elapsed="0.000298"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.195129" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.194822" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.202978" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.203473" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '549'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.203591" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.195300" elapsed="0.008317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.204033" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.203778" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.206230" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.204221" elapsed="0.002112"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.208253" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.206408" elapsed="0.001899"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.206386" elapsed="0.001944"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.212295" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.212378" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.208471" elapsed="0.003941"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.215027" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.212518" elapsed="0.002590"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.212490" elapsed="0.002653"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.215190" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:35:58.215551" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.215618" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.194499" elapsed="0.021151"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.218290" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.216533" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.216505" elapsed="0.001856"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.218929" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.218509" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.219586" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.219149" elapsed="0.000469"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.219689" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:58.219903" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.215952" elapsed="0.003978"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.220093" elapsed="0.000415"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.193916" elapsed="0.026656"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.229274" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.228919" elapsed="0.000385"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.248490" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.249573" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.250331" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.229469" elapsed="0.020933"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.251461" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.250793" elapsed="0.000809"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.257199" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.251926" elapsed="0.006891"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.261607" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.258923" elapsed="0.002755"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.258895" elapsed="0.002825"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.292465" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.292521" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.261948" elapsed="0.030597"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.294796" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.292673" elapsed="0.002195"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.292637" elapsed="0.002260"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.294935" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:58.295179" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.295225" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.228535" elapsed="0.066737"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.297625" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.295978" elapsed="0.001694"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.295959" elapsed="0.001736"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.298335" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.297849" elapsed="0.000516"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.298936" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.298530" elapsed="0.000442"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.299034" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:35:58.299222" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.295607" elapsed="0.003658"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.299427" elapsed="0.000442"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.227838" elapsed="0.072097"/>
</kw>
<arg>f19.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.175718" elapsed="0.124297"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.168680" elapsed="0.131480"/>
</test>
<test id="s1-s3-s1-t19" name="Test Is Flow 20 Added" line="85">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.311896" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.312060" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.311740" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.312670" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.312258" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.313142" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.312853" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.313608" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.313336" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.314101" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.313819" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.314990" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.314313" elapsed="0.000709"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.315589" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.315189" elapsed="0.000449"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.316226" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.315866" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.316770" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.316440" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.317310" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.316962" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.317899" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.317533" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.318529" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.318120" elapsed="0.000452"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.311345" elapsed="0.007284"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.319188" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.318787" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.319714" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.319404" elapsed="0.000371"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.329996" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.329672" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.337300" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.337784" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '556'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.337901" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.330156" elapsed="0.007770"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.338364" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.338089" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.340625" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.338554" elapsed="0.002169"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.342762" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.340801" elapsed="0.002014"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.340778" elapsed="0.002060"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.346521" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.346591" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.342979" elapsed="0.003645"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.349395" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.346730" elapsed="0.002749"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.346704" elapsed="0.002822"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.349577" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:35:58.349859" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.349920" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.329322" elapsed="0.020630"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.353167" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.350876" elapsed="0.002339"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.350850" elapsed="0.002404"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.353825" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.353406" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.354535" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.354089" elapsed="0.000481"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.354637" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:35:58.354843" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.350332" elapsed="0.004538"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.355030" elapsed="0.000480"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.328652" elapsed="0.026927"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.364038" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.363695" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.381876" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.382499" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.382914" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.364199" elapsed="0.018752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.383967" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.383191" elapsed="0.000844"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.387571" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.384259" elapsed="0.004672"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.391613" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.389041" elapsed="0.002643"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.389010" elapsed="0.002698"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.422650" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.422746" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.391850" elapsed="0.030938"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.425762" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.422968" elapsed="0.002893"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.422926" elapsed="0.002979"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.425965" elapsed="0.000055"/>
</return>
<msg time="2026-05-25T00:35:58.426313" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.426383" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.363204" elapsed="0.063217"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.429654" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.427313" elapsed="0.002417"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.427286" elapsed="0.002476"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.430685" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.429992" elapsed="0.000732"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.431544" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.430965" elapsed="0.000620"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.431663" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:35:58.431945" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.426791" elapsed="0.005194"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.432229" elapsed="0.000673"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.362558" elapsed="0.070437"/>
</kw>
<arg>f20.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.307925" elapsed="0.125159"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.300560" elapsed="0.132732"/>
</test>
<test id="s1-s3-s1-t20" name="Test Is Flow 21 Added" line="87">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.452507" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.452701" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.452335" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.453404" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fdd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.452912" elapsed="0.000521"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.453884" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.453592" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.454352" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.454063" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.454803" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.454531" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.455761" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.454980" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.456321" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.455958" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.456921" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.456592" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.457465" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.457117" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.457978" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.457660" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.458524" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.458180" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.459052" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fdd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.458727" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.451928" elapsed="0.007229"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.460432" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.459330" elapsed="0.001135"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.460875" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.460624" elapsed="0.000317"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.468952" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.468612" elapsed="0.000369"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.476529" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.477645" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '831'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.477824" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.469149" elapsed="0.008714"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.478570" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.478134" elapsed="0.000505"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.482011" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.478931" elapsed="0.003171"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.484930" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.482219" elapsed="0.002793"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.482186" elapsed="0.002861"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.489299" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.489348" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.485306" elapsed="0.004065"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.491204" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.489451" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.489431" elapsed="0.001873"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.491339" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:35:58.491581" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.491625" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.468271" elapsed="0.023377"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.493886" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.492267" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.492247" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.494574" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.494112" elapsed="0.000489"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.495121" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.494771" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.495196" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:58.495723" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.491899" elapsed="0.003858"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.495992" elapsed="0.000603"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.467636" elapsed="0.029038"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.504913" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.504581" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.521424" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.522303" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.522980" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.505076" elapsed="0.017964"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.524131" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.523507" elapsed="0.000754"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.532924" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.524586" elapsed="0.009442"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.535976" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.534128" elapsed="0.001904"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.534096" elapsed="0.001959"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.562059" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.562123" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.536229" elapsed="0.025919"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.564278" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.562325" elapsed="0.002017"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.562289" elapsed="0.002080"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.564408" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:35:58.564632" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.564678" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.504163" elapsed="0.060538"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.567040" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.565345" elapsed="0.001742"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.565326" elapsed="0.001784"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.567844" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.567281" elapsed="0.000591"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.568410" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.568038" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.568486" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:58.568669" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.564958" elapsed="0.003736"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.568852" elapsed="0.000425"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.503447" elapsed="0.065895"/>
</kw>
<arg>f21.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.444607" elapsed="0.124796"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.433860" elapsed="0.135672"/>
</test>
<test id="s1-s3-s1-t21" name="Test Is Flow 22 Added" line="89">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.590469" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.590691" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.590274" elapsed="0.000448"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.591475" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0ef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.590925" elapsed="0.000579"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.591959" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.591664" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.592437" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.592141" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.592895" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.592618" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.593867" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.593076" elapsed="0.000823"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.594459" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.594087" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.595068" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.594733" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.595637" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.595281" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.596151" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.595834" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.596689" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.596365" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.597210" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0ef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.596888" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.589708" elapsed="0.007626"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.597917" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.597491" elapsed="0.000472"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.598395" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.598124" elapsed="0.000338"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.606576" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.606166" elapsed="0.000440"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.615027" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.615786" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '829'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.615913" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.606743" elapsed="0.009198"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.616437" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.616121" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.618952" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.616692" elapsed="0.002323"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.621862" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.619116" elapsed="0.002828"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.619079" elapsed="0.002901"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.626917" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.626986" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.622195" elapsed="0.004826"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.629760" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.627134" elapsed="0.002710"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.627106" elapsed="0.002775"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.629930" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:35:58.630260" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.630331" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.605844" elapsed="0.024521"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.633162" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.631213" elapsed="0.001996"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.631187" elapsed="0.002044"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.633820" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.633403" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.634383" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.634011" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.634458" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:58.634640" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.630707" elapsed="0.003957"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.634821" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.605228" elapsed="0.030078"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.643376" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.643010" elapsed="0.000396"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.662377" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.663428" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.664159" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.643541" elapsed="0.020679"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.665376" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.664699" elapsed="0.000780"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.671090" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.665798" elapsed="0.006721"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.674427" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.672613" elapsed="0.001870"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.672585" elapsed="0.001921"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.752784" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.752851" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.674672" elapsed="0.078204"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.754839" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.753006" elapsed="0.001895"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.752974" elapsed="0.001954"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.754967" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:58.755187" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.755232" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.642622" elapsed="0.112649"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.757707" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.756062" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.756043" elapsed="0.001735"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.758403" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.757932" elapsed="0.000499"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.758957" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.758596" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.759034" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:58.759217" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.755698" elapsed="0.003560"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.759430" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.641960" elapsed="0.117948"/>
</kw>
<arg>f22.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.584389" elapsed="0.175579"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.569870" elapsed="0.190224"/>
</test>
<test id="s1-s3-s1-t22" name="Test Is Flow 23 Added" line="91">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.771137" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.771349" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.770992" elapsed="0.000387"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.771972" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd298f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.771532" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.772454" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.772153" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.772905" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.772632" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.773369" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.773082" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.774423" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.773546" elapsed="0.000909"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.774950" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.774614" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.775575" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.775213" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.776100" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.775771" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.776628" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.776310" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.777147" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.776826" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.777684" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd298f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.777360" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.770659" elapsed="0.007122"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.778336" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.777933" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.778767" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.778519" elapsed="0.000312"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.786581" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.786270" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.794397" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.795063" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '883'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.795177" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.786738" elapsed="0.008465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.795675" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.795408" elapsed="0.000352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.797914" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.795905" elapsed="0.002070"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.799861" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.798050" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.798029" elapsed="0.001908"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.803228" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.803311" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.800079" elapsed="0.003257"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.805378" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.803417" elapsed="0.002020"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.803396" elapsed="0.002067"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.805498" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:58.805712" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.805757" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.785935" elapsed="0.019844"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.808018" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.806398" elapsed="0.001668"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.806380" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.808719" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.808255" elapsed="0.000491"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.809278" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.808910" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.809356" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:58.809537" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.806026" elapsed="0.003536"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.809720" elapsed="0.000407"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.785375" elapsed="0.024814"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.818251" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.817908" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.836633" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.837194" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.837595" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.818419" elapsed="0.019205"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.838206" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.837874" elapsed="0.000397"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.840812" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.838418" elapsed="0.003379"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.843717" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.841884" elapsed="0.001888"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.841858" elapsed="0.001937"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.875847" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.875915" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.843940" elapsed="0.032001"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.877987" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.876071" elapsed="0.001977"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.876040" elapsed="0.002036"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.878114" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:35:58.878353" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:58.878399" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.817517" elapsed="0.060906"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.880731" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.879041" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.879022" elapsed="0.001781"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.881438" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.880960" elapsed="0.000507"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.882002" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.881640" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.882081" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:58.882281" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.878680" elapsed="0.003628"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.882468" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.816825" elapsed="0.066116"/>
</kw>
<arg>f23.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.767357" elapsed="0.115645"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.760460" elapsed="0.122669"/>
</test>
<test id="s1-s3-s1-t23" name="Test Is Flow 24 Added" line="93">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:58.894341" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:58.894523" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:58.894170" elapsed="0.000383"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:58.895148" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb6a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:58.894718" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.896035" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.895741" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.896513" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.896217" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:58.896964" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:58.896692" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.897764" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:58.897143" elapsed="0.000652"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.898313" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.897957" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.898923" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.898590" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.899690" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.899120" elapsed="0.000630"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.900264" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.899917" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.900801" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.900470" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.901346" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb6a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:58.901003" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:58.893827" elapsed="0.007620"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.902036" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.901624" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.902487" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.902223" elapsed="0.000323"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.910438" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.910095" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.918114" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.919193" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '517'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:58.919530" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.910603" elapsed="0.008987"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.920651" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.920021" elapsed="0.000728"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.924432" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.921051" elapsed="0.003469"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.927517" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.924735" elapsed="0.002862"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.924697" elapsed="0.002936"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:58.930444" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:58.930492" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:58.927804" elapsed="0.002712"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:58.932363" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:58.930594" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.930574" elapsed="0.001872"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:58.932481" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:35:58.932694" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:58.932740" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.909726" elapsed="0.023039"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.935287" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.933379" elapsed="0.001956"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.933361" elapsed="0.001998"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.935956" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.935512" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.936525" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:58.936149" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:58.936602" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:58.936926" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:58.933010" elapsed="0.003942"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:58.937110" elapsed="0.000418"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.909117" elapsed="0.028476"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.945621" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:58.945297" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:58.962807" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:58.963699" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:58.964268" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:58.945787" elapsed="0.018526"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.965100" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.964638" elapsed="0.000532"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:58.968992" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:58.965409" elapsed="0.005015"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:58.973375" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:58.970547" elapsed="0.002909"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:58.970511" elapsed="0.002979"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.006657" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.006724" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:58.973715" elapsed="0.033036"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.008812" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.006882" elapsed="0.001991"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.006851" elapsed="0.002049"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.008939" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:59.009159" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.009204" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:58.944889" elapsed="0.064339"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.011548" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.009864" elapsed="0.001734"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.009845" elapsed="0.001775"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.012309" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.011790" elapsed="0.000549"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.012877" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.012510" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.012961" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:35:59.013185" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.009502" elapsed="0.003710"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.013392" elapsed="0.000412"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:58.944215" elapsed="0.069655"/>
</kw>
<arg>f24.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:58.890481" elapsed="0.123449"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:58.883518" elapsed="0.130543"/>
</test>
<test id="s1-s3-s1-t24" name="Test Is Flow 25 Added" line="95">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.025465" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.025648" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.025310" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.026317" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3855d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.025840" elapsed="0.000506"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.026790" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.026503" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.027288" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.026969" elapsed="0.000347"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.027747" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.027470" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.028727" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.027929" elapsed="0.000829"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.029279" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.028923" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.029879" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.029546" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.030422" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.030078" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.030938" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.030618" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.031511" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.031139" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.032274" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3855d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.031714" elapsed="0.000614"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.024949" elapsed="0.007439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.032960" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.032547" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.033416" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.033148" elapsed="0.000333"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.041441" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.041105" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.048493" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.049184" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '882'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.049339" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.041605" elapsed="0.007762"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.049959" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.049647" elapsed="0.000360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.052261" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.050155" elapsed="0.002170"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.054330" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.052412" elapsed="0.001972"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.052386" elapsed="0.002022"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.059002" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.059072" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.054557" elapsed="0.004551"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.062064" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.059258" elapsed="0.002890"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.059195" elapsed="0.002991"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.062257" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:35:59.062560" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.062626" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.040779" elapsed="0.021881"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.066043" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.063612" elapsed="0.002501"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.063585" elapsed="0.002563"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.067028" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.066394" elapsed="0.000675"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.067846" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.067385" elapsed="0.000488"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.067924" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:59.068108" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.063058" elapsed="0.005076"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.068311" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.040177" elapsed="0.028603"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.076722" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.076408" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.095842" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.097006" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.097742" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.076885" elapsed="0.020922"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.098942" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.098283" elapsed="0.000767"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.103032" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.099478" elapsed="0.005007"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.107306" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.104610" elapsed="0.002776"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.104574" elapsed="0.002847"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.139794" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.139862" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.107641" elapsed="0.032248"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.141918" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.140013" elapsed="0.001967"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.139983" elapsed="0.002025"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.142047" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:35:59.142285" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.142333" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.076003" elapsed="0.066354"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.144614" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.142981" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.142962" elapsed="0.001722"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.145463" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.144989" elapsed="0.000504"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.146022" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.145660" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.146100" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:59.146300" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.142614" elapsed="0.003713"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.146489" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.075355" elapsed="0.071611"/>
</kw>
<arg>f25.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.021480" elapsed="0.125550"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.014488" elapsed="0.132671"/>
</test>
<test id="s1-s3-s1-t25" name="Test Is Flow 31 Added" line="97">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.158473" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.158760" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.158320" elapsed="0.000471"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.159430" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcf90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.158954" elapsed="0.000505"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.159904" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.159614" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.160379" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.160085" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.160833" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.160559" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.161855" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.161014" elapsed="0.000874"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.162416" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.162053" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.163011" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.162677" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.163586" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.163245" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.164104" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.163785" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.164643" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.164318" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.165166" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcf90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.164842" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.157962" elapsed="0.007320"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.165839" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.165435" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.166284" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.166022" elapsed="0.000321"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.174154" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.173837" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.180396" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.180928" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '621'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.181044" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.174333" elapsed="0.006737"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.181549" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.181270" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.183819" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.181748" elapsed="0.002192"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.185809" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.184027" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.184001" elapsed="0.001886"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.189585" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.189655" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.186037" elapsed="0.003653"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.192412" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.189803" elapsed="0.002693"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.189776" elapsed="0.002758"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.192585" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:35:59.192885" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.192952" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.173514" elapsed="0.019473"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.196583" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.193858" elapsed="0.002796"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.193831" elapsed="0.002857"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.197565" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.196912" elapsed="0.000693"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.198404" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.197852" elapsed="0.000592"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.198518" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:35:59.198787" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.193350" elapsed="0.005475"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.199060" elapsed="0.000690"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.172915" elapsed="0.026900"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.207701" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.207378" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.224340" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.225480" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.226187" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.207866" elapsed="0.018412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.227367" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.226698" elapsed="0.000773"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.232585" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.227792" elapsed="0.006186"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.236763" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.234095" elapsed="0.002746"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.234060" elapsed="0.002817"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.268498" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.268562" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.237091" elapsed="0.031497"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.270570" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.268708" elapsed="0.001923"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.268679" elapsed="0.001979"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.270696" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:59.270914" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.270960" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.206957" elapsed="0.064027"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.273253" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.271643" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.271625" elapsed="0.001699"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.273935" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.273478" elapsed="0.000485"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.274507" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.274129" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.274585" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.274767" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.271280" elapsed="0.003513"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.274953" elapsed="0.000463"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.206300" elapsed="0.069181"/>
</kw>
<arg>f31.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.154611" elapsed="0.120931"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.147549" elapsed="0.128121"/>
</test>
<test id="s1-s3-s1-t26" name="Test Is Flow 36 Added" line="99">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.286811" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.286999" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.286661" elapsed="0.000367"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.287656" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6d90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.287210" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.288126" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.287841" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.288604" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.288329" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.289057" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.288784" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.289889" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.289251" elapsed="0.000669"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.290433" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.290080" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.291019" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.290691" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.291581" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.291247" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.292094" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.291777" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.292632" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.292310" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.293153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6d90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.292832" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.286326" elapsed="0.006942"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.293813" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.293421" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.294254" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.293996" elapsed="0.000320"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.302281" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.301952" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.308875" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.309424" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '607'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.309538" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.302443" elapsed="0.007122"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.310021" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.309748" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.312295" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.310212" elapsed="0.002202"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.314291" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.312499" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.312473" elapsed="0.001895"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.318161" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.318249" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.314515" elapsed="0.003772"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.321000" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.318401" elapsed="0.002683"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.318373" elapsed="0.002749"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.321173" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:35:59.321510" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.321577" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.301627" elapsed="0.019985"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.324904" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.322482" elapsed="0.002492"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.322456" elapsed="0.002552"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.325867" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.325230" elapsed="0.000678"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.326699" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.326151" elapsed="0.000587"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.326813" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:35:59.327080" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.321953" elapsed="0.005208"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.327420" elapsed="0.000495"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.301035" elapsed="0.026946"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.336080" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.335769" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.352418" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.353551" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.354275" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.336258" elapsed="0.018082"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.355403" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.354738" elapsed="0.000771"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.360652" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.355830" elapsed="0.006236"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.364867" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.362186" elapsed="0.002756"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.362151" elapsed="0.002826"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.405902" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.405968" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.365188" elapsed="0.040806"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.408260" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.406121" elapsed="0.002239"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.406089" elapsed="0.002313"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.408459" elapsed="0.000051"/>
</return>
<msg time="2026-05-25T00:35:59.408779" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.408849" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.335382" elapsed="0.073503"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.412333" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.409842" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.409812" elapsed="0.002629"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.413346" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.412666" elapsed="0.000723"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.414169" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.413634" elapsed="0.000577"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.414308" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:35:59.414586" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.409265" elapsed="0.005361"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.414869" elapsed="0.000674"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.334690" elapsed="0.080953"/>
</kw>
<arg>f36.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.282965" elapsed="0.132754"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.276050" elapsed="0.139799"/>
</test>
<test id="s1-s3-s1-t27" name="Test Is Flow 38 Added" line="101">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.427250" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.427445" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.427029" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.428110" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3553a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.427666" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.428608" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.428314" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.429067" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.428791" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.429543" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.429263" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.430406" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.429725" elapsed="0.000713"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.430947" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.430602" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.431581" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.431247" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.432118" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.431784" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.432662" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.432339" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.433189" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.432864" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.433740" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3553a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.433409" elapsed="0.000375"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.426679" elapsed="0.007164"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.434412" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.433998" elapsed="0.000447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.434847" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.434600" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.442978" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.442662" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.449642" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.450188" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '666'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.450325" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.443156" elapsed="0.007195"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.450775" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.450516" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.452979" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.450966" elapsed="0.002125"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.454952" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.453172" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.453148" elapsed="0.001881"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.458036" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.458119" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.455212" elapsed="0.002943"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.459973" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.458252" elapsed="0.001778"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.458216" elapsed="0.001839"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.460089" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:35:59.460309" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.460355" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.442336" elapsed="0.018042"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.462544" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.460941" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.460923" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.463191" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.462764" elapsed="0.000453"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.463755" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.463399" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.463831" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.464012" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.460604" elapsed="0.003433"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.464195" elapsed="0.000413"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.441724" elapsed="0.022949"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.473146" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.472833" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.488682" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.489823" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.490542" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.473323" elapsed="0.017280"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.491664" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.491000" elapsed="0.000769"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.497322" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.492089" elapsed="0.007480"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.501492" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.499716" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.499691" elapsed="0.001877"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.533743" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.533846" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.501713" elapsed="0.032159"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.535877" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.533993" elapsed="0.001945"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.533965" elapsed="0.002000"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.536002" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:59.536220" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.536283" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.472444" elapsed="0.063863"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.538553" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.536924" elapsed="0.001676"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.536905" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.539305" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.538778" elapsed="0.000556"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.539860" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.539500" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.539938" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.540120" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.536561" elapsed="0.003585"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.540321" elapsed="0.000409"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.471788" elapsed="0.069009"/>
</kw>
<arg>f38.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.423229" elapsed="0.117630"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.416223" elapsed="0.124764"/>
</test>
<test id="s1-s3-s1-t28" name="Test Is Flow 43 Added" line="103">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.552172" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.552358" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.552025" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.552974" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca7a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.552545" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.553462" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.553159" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.553916" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.553644" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.554383" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.554093" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.555307" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.554563" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.555991" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.555501" elapsed="0.000535"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.556599" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.556267" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.557127" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.556797" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.557655" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.557336" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.558175" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.557853" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.558713" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca7a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.558390" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.551687" elapsed="0.007124"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.559437" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.558962" elapsed="0.000508"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.559869" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.559624" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.567964" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.567645" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.574468" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.575086" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '710'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.575196" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.568127" elapsed="0.007095"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.575658" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.575401" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.578928" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.575931" elapsed="0.003176"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.581936" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.579221" elapsed="0.002792"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.579188" elapsed="0.002859"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.587844" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.587949" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.582278" elapsed="0.005724"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.591979" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.588171" elapsed="0.003892"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.588129" elapsed="0.003972"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.592153" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:35:59.592474" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.592541" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.567315" elapsed="0.025261"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.596079" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.593431" elapsed="0.002719"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.593404" elapsed="0.002780"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.597038" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.596427" elapsed="0.000652"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.597874" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.597343" elapsed="0.000571"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.597988" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:35:59.598278" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.592907" elapsed="0.005411"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.598552" elapsed="0.000616"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.566675" elapsed="0.032610"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.608676" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.608365" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.626095" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.627300" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-sta... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.628012" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.608838" elapsed="0.019234"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.629145" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.628522" elapsed="0.000755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.634829" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;1000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;483000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;519000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;37000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;644000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;680000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;194000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;735000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;232000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;732000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;57000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;879000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;140000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;919000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;201000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;361000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;336000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;503000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;538000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;661000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;694000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;738000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;695000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;772000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;801000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.629600" elapsed="0.006698"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.638153" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.636386" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.636361" elapsed="0.001870"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.670001" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.670071" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.638391" elapsed="0.031706"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.672156" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.670248" elapsed="0.001970"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.670199" elapsed="0.002060"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.672299" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:35:59.672526" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.672572" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.607965" elapsed="0.064631"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.674830" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.673222" elapsed="0.001656"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.673203" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.675553" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.675075" elapsed="0.000507"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.676102" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.675747" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.676179" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.676378" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.672855" elapsed="0.003550"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.676564" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.607324" elapsed="0.069715"/>
</kw>
<arg>f43.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.548333" elapsed="0.128766"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.541403" elapsed="0.135821"/>
</test>
<test id="s1-s3-s1-t29" name="Test Is Flow 45 Added" line="105">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.688278" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.688560" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.688119" elapsed="0.000472"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.689177" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb740&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.688748" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.689672" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.689384" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.690119" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.689850" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.690586" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.690312" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.691451" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.690770" elapsed="0.000712"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.691980" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.691642" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.692582" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.692249" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.693117" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.692786" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.693646" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.693329" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.694194" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.693873" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.694733" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb740&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.694409" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.687782" elapsed="0.007050"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.695405" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.694998" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.695835" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.695591" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.704085" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.703723" elapsed="0.000395"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.710397" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.711183" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '585'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.711372" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.704277" elapsed="0.007135"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.712033" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.711659" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.715342" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.712336" elapsed="0.003160"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.718298" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.715611" elapsed="0.002764"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.715577" elapsed="0.002833"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.721709" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.721760" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.718619" elapsed="0.003164"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.723598" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.721857" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.721839" elapsed="0.001840"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.723713" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:35:59.723917" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.723961" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.703367" elapsed="0.020617"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.726150" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.724544" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.724526" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.726784" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.726382" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.727360" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.726992" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.727436" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.727615" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.724197" elapsed="0.003443"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.727803" elapsed="0.000394"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.702623" elapsed="0.025653"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.736322" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.736002" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.752217" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.755804" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.756475" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.736480" elapsed="0.020056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.757490" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.756894" elapsed="0.000698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.761948" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.757906" elapsed="0.005484"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.766133" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.763497" elapsed="0.002710"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.763468" elapsed="0.002792"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.793814" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.793864" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.766469" elapsed="0.027419"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.796040" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.793969" elapsed="0.002134"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.793949" elapsed="0.002180"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.796168" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:35:59.796389" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.796434" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.735621" elapsed="0.060836"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.798641" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.797028" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.797010" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.799313" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.798859" elapsed="0.000483"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.799863" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.799507" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.799939" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.800122" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.796682" elapsed="0.003466"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.800321" elapsed="0.000394"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.734974" elapsed="0.065806"/>
</kw>
<arg>f45.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.684481" elapsed="0.116358"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.677455" elapsed="0.123511"/>
</test>
<test id="s1-s3-s1-t30" name="Test Is Flow 101 Added" line="107">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.812076" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.812231" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.811933" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.812856" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d58f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.812431" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.813340" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.813039" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.813791" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.813519" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.814255" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.813969" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.815200" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.814435" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.815743" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.815410" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.816494" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.816149" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.817020" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.816691" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.817547" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.817214" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.818075" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.817751" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.818617" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d58f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.818291" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.811590" elapsed="0.007129"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.819291" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.818872" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.821416" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.819473" elapsed="0.002011"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.829246" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.828929" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.835345" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.836165" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '929'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.836361" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.829406" elapsed="0.006994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.837059" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.836682" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.840399" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.837358" elapsed="0.003132"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.843284" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.840594" elapsed="0.002766"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.840565" elapsed="0.002829"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.848093" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.848140" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.843602" elapsed="0.004562"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.849959" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.848254" elapsed="0.001761"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.848220" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.850074" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:59.850286" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.850333" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.828607" elapsed="0.021749"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.852695" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.850903" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.850886" elapsed="0.001881"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.853343" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.852917" elapsed="0.000454"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.853892" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.853537" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.853968" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:35:59.854150" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.850568" elapsed="0.003608"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.854349" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.828028" elapsed="0.026776"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.862701" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.862397" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.879400" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.880338" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:35:59.880984" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.862858" elapsed="0.018185"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.881994" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.881431" elapsed="0.000663"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.887637" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.882441" elapsed="0.006625"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.891866" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.889174" elapsed="0.002766"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.889144" elapsed="0.002831"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.924829" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.924884" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:35:59.892182" elapsed="0.032730"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.926803" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.925009" elapsed="0.001852"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.924986" elapsed="0.001900"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.926950" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:35:59.927160" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:35:59.927205" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.862001" elapsed="0.065227"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.929437" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.927809" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.927790" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.930102" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.929682" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.930663" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.930309" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.930739" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:35:59.930942" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.927466" elapsed="0.003503"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.931129" elapsed="0.000421"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.861370" elapsed="0.070245"/>
</kw>
<arg>f101.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.808277" elapsed="0.123395"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.801297" elapsed="0.130503"/>
</test>
<test id="s1-s3-s1-t31" name="Test Is Flow 102 Added" line="109">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:35:59.943381" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:35:59.943539" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:35:59.943186" elapsed="0.000382"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:35:59.944180" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9440&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:35:59.943735" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.944680" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.944384" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.945132" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.944859" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:35:59.945637" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:35:59.945323" elapsed="0.000341"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.946607" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:35:59.945818" elapsed="0.000821"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.947196" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.946806" elapsed="0.000451"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.947809" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.947470" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.948366" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.948010" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.948919" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.948567" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.949486" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.949127" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.950145" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9440&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:35:59.949691" elapsed="0.000497"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:35:59.942641" elapsed="0.007618"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.950804" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.950415" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.951283" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.951019" elapsed="0.000331"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.959340" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.959017" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:35:59.965647" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:35:59.966391" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1002'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:35:59.966505" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.959498" elapsed="0.007033"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.967002" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.966726" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.969183" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:35:59.967192" elapsed="0.002068"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.971120" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.969333" elapsed="0.001837"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.969312" elapsed="0.001882"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:35:59.975753" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:35:59.975844" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:35:59.971351" elapsed="0.004531"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:35:59.978592" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:35:59.975995" elapsed="0.002679"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.975967" elapsed="0.002745"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:35:59.978763" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:35:59.979093" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:35:59.979160" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.958664" elapsed="0.020529"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:35:59.983428" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:35:59.979927" elapsed="0.003549"/>
</branch>
<status status="PASS" start="2026-05-25T00:35:59.979910" elapsed="0.003589"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.984054" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.983650" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.984615" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:35:59.984260" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:35:59.984691" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:35:59.984872" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:35:59.979525" elapsed="0.005372"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:35:59.985054" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.958086" elapsed="0.027443"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:35:59.993508" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:35:59.993180" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.009365" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.010005" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.010505" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:35:59.993668" elapsed="0.016879"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.011271" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.010817" elapsed="0.000525"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.015130" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.011555" elapsed="0.005093"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.019467" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.016773" elapsed="0.002772"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.016738" elapsed="0.002842"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.052683" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.052732" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.019795" elapsed="0.032961"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.054576" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.052836" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.052817" elapsed="0.001843"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.054694" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:00.054929" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.054976" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:35:59.992791" elapsed="0.062208"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.057258" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.055615" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.055597" elapsed="0.001734"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.057911" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.057485" elapsed="0.000453"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.058475" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.058101" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.058552" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.058732" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.055260" elapsed="0.003498"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.058964" elapsed="0.000418"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:35:59.992132" elapsed="0.067316"/>
</kw>
<arg>f102.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:35:59.939327" elapsed="0.120180"/>
</kw>
<status status="PASS" start="2026-05-25T00:35:59.932290" elapsed="0.127344"/>
</test>
<test id="s1-s3-s1-t32" name="Test Is Flow 103 Added" line="111">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.070785" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.070980" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.070640" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.071612" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d59e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.071162" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.072083" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.071800" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.072548" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.072277" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.072992" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.072723" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.073941" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.073169" elapsed="0.000803"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.074493" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.074133" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.075085" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.074737" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.075630" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.075299" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.076298" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.075827" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.076826" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.076499" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.077561" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d59e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.077058" elapsed="0.000548"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.070308" elapsed="0.007354"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.078211" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.077822" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.078659" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.078414" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.086453" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.086128" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.092614" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.093655" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '996'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.093820" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.086613" elapsed="0.007246"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.094550" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.094143" elapsed="0.000477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.098367" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.094835" elapsed="0.003628"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.101247" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.098570" elapsed="0.002755"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.098540" elapsed="0.002819"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.105454" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.105501" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.101569" elapsed="0.003955"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.107376" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.105599" elapsed="0.001837"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.105580" elapsed="0.001882"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.107495" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:00.107694" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.107738" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.085810" elapsed="0.021951"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.110111" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.108323" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.108305" elapsed="0.001875"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.110748" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.110347" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.111335" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.110965" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.111410" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.111589" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.107973" elapsed="0.003640"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.111768" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.085249" elapsed="0.026969"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.120173" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.119873" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.136822" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.137822" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.138538" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.120347" elapsed="0.018253"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.139593" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.138995" elapsed="0.000699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.145217" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.140010" elapsed="0.007415"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.149472" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.147587" elapsed="0.001935"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.147544" elapsed="0.002001"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.180806" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.180868" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.149687" elapsed="0.031211"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.182806" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.180988" elapsed="0.001913"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.180967" elapsed="0.001959"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.182971" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:00.183193" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.183255" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.119493" elapsed="0.063788"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.185451" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.183845" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.183827" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.186085" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.185672" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.186650" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.186293" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.186727" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:00.186943" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.183506" elapsed="0.003464"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.187130" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.118823" elapsed="0.068783"/>
</kw>
<arg>f103.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.066982" elapsed="0.120681"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.059980" elapsed="0.127803"/>
</test>
<test id="s1-s3-s1-t33" name="Test Is Flow 104 Added" line="113">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.199467" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.199614" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.199322" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.200218" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.199796" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.200697" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.200416" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.201152" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.200881" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.201617" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.201345" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.202533" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.201796" elapsed="0.000768"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.203084" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.202723" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.203670" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.203343" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.204194" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.203867" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.204723" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.204407" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.205263" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.204924" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.205783" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.205464" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.198976" elapsed="0.007039"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.206593" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.206166" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.207225" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.206828" elapsed="0.000493"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.217485" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.217077" elapsed="0.000442"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.224575" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.225519" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '929'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.225661" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.217689" elapsed="0.008006"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.226283" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.225944" elapsed="0.000400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.229160" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.226531" elapsed="0.002730"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.231639" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.229354" elapsed="0.002344"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.229328" elapsed="0.002402"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.236032" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.236091" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.231912" elapsed="0.004210"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.238485" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.236215" elapsed="0.002342"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.236191" elapsed="0.002398"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.238631" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:00.239077" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.239141" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.216673" elapsed="0.022498"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.242263" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.239944" elapsed="0.002382"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.239921" elapsed="0.002433"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.242986" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.242542" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.243546" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.243176" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.243621" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.243800" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.239517" elapsed="0.004308"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.243981" elapsed="0.000413"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.215952" elapsed="0.028507"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.252347" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.252029" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.270423" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.271485" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.272191" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.252504" elapsed="0.019790"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.273333" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.272685" elapsed="0.000760"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.277827" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.273797" elapsed="0.005370"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.281791" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.279289" elapsed="0.002572"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.279259" elapsed="0.002634"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.380248" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.380322" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.282090" elapsed="0.098259"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.382445" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.380494" elapsed="0.002015"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.380458" elapsed="0.002081"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.382581" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:00.382955" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.383001" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.251653" elapsed="0.131371"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.385342" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.383735" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.383716" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.386073" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.385571" elapsed="0.000530"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.386637" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.386280" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.386713" elapsed="0.000066"/>
</return>
<msg time="2026-05-25T00:36:00.386935" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.383343" elapsed="0.003617"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.387121" elapsed="0.000444"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.251021" elapsed="0.136609"/>
</kw>
<arg>f104.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.195225" elapsed="0.192468"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.188088" elapsed="0.199749"/>
</test>
<test id="s1-s3-s1-t34" name="Test Is Flow 105 Added" line="115">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.398975" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.399173" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.398822" elapsed="0.000381"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.399836" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8630&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.399376" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.400329" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.400027" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.400781" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.400506" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.401224" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.400955" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.402307" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.401417" elapsed="0.000921"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.402853" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.402498" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.403459" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.403116" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.403981" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.403654" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.404516" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.404174" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.405036" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.404718" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.405584" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8630&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.405261" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.398444" elapsed="0.007238"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.406213" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.405831" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.406653" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.406410" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.414446" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.414116" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.425116" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.426182" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '935'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.426391" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.414606" elapsed="0.011824"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.427415" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.426938" elapsed="0.000546"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.430650" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.427691" elapsed="0.003085"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.433441" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.430905" elapsed="0.002615"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.430867" elapsed="0.002687"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.438286" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.438353" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.433758" elapsed="0.004628"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.440814" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.438492" elapsed="0.002379"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.438465" elapsed="0.002431"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.440930" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:00.441152" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.441203" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.413800" elapsed="0.027427"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.443967" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.441894" elapsed="0.002121"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.441869" elapsed="0.002169"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.444639" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.444197" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.445195" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.444830" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.445299" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:00.445482" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.441499" elapsed="0.004008"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.445665" elapsed="0.000475"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.413222" elapsed="0.032985"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.454849" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.454493" elapsed="0.000384"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.474210" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.475440" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.476269" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.455016" elapsed="0.021319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.477606" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.476803" elapsed="0.000909"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.483474" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.478039" elapsed="0.006563"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.486503" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.484705" elapsed="0.001855"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.484674" elapsed="0.001911"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.517467" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.517515" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.486760" elapsed="0.030779"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.519364" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.517622" elapsed="0.001801"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.517602" elapsed="0.001848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.519486" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:00.519703" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.519747" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.454092" elapsed="0.065679"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.522013" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.520421" elapsed="0.001639"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.520402" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.522678" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.522249" elapsed="0.000478"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.523266" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.522893" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.523345" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.523526" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.520029" elapsed="0.003522"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.523710" elapsed="0.000407"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.453441" elapsed="0.070750"/>
</kw>
<arg>f105.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.395142" elapsed="0.129124"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.388206" elapsed="0.136195"/>
</test>
<test id="s1-s3-s1-t35" name="Test Is Flow 106 Added" line="117">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.535677" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.535845" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.535527" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.536518" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357010&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.536030" elapsed="0.000517"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.536995" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.536702" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.537467" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.537175" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.537918" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.537645" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.539031" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.538095" elapsed="0.000968"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.539582" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.539225" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.540155" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.539826" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.540696" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.540367" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.541230" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.540896" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.541775" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.541450" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.542312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357010&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.541975" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.535166" elapsed="0.007247"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.542976" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.542563" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.543420" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.543160" elapsed="0.000324"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.551297" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.550940" elapsed="0.000388"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.558387" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.559142" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '940'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.559285" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.551464" elapsed="0.007849"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.559881" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.559544" elapsed="0.000403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.563062" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.560152" elapsed="0.002999"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.565838" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.563284" elapsed="0.002628"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.563230" elapsed="0.002714"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.570584" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.570650" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.566147" elapsed="0.004579"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.572991" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.570840" elapsed="0.002231"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.570813" elapsed="0.002293"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.573143" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:00.573369" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.573414" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.550573" elapsed="0.022864"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.575689" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.574013" elapsed="0.001726"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.573994" elapsed="0.001771"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.576356" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.575919" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.576902" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.576548" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.576980" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.577161" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.573669" elapsed="0.003517"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.577363" elapsed="0.000396"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.549993" elapsed="0.027830"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.585768" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.585452" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.604000" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.605009" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.605581" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.585928" elapsed="0.019696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.606283" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.605911" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.608916" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.606480" elapsed="0.003379"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.611898" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.609948" elapsed="0.002004"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.609921" elapsed="0.002055"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.642610" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.642680" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.612124" elapsed="0.030582"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.644555" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.642790" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.642769" elapsed="0.001871"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.644674" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:00.644886" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.644931" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.585058" elapsed="0.059896"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.647200" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.645563" elapsed="0.001699"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.645545" elapsed="0.001741"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.647870" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.647440" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.648436" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.648063" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.648513" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.648692" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.645196" elapsed="0.003522"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.648877" elapsed="0.000416"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.584429" elapsed="0.064927"/>
</kw>
<arg>f106.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.531735" elapsed="0.117678"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.524741" elapsed="0.124797"/>
</test>
<test id="s1-s3-s1-t36" name="Test Is Flow 107 Added" line="119">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.660686" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.660853" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.660541" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.661504" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4770&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.661038" elapsed="0.000494"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.661975" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.661687" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.662445" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.662154" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.662918" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.662623" elapsed="0.000322"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.664025" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.663096" elapsed="0.000960"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.664569" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.664216" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.665145" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.664813" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.665690" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.665358" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.666202" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.665886" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.666760" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.666417" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.667297" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4770&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.666959" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.660191" elapsed="0.007205"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.667932" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.667548" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.668374" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.668115" elapsed="0.000326"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.676194" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.675882" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.681958" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.682743" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1034'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.682871" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.676368" elapsed="0.006569"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.683445" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.683129" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.685696" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.683639" elapsed="0.002125"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.687640" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.685847" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.685823" elapsed="0.001892"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.691024" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.691071" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.687861" elapsed="0.003233"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.693066" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.691170" elapsed="0.001952"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.691150" elapsed="0.001997"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.693180" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:00.693397" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.693440" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.675563" elapsed="0.017899"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.695634" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.694028" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.694010" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.696274" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.695854" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.696814" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.696463" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.696889" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.697067" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.693690" elapsed="0.003402"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.697263" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.674988" elapsed="0.022731"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.705541" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.705220" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.721206" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.721651" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.721959" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.705699" elapsed="0.016287"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.722456" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.722163" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.724981" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.722673" elapsed="0.003269"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.727829" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.726021" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.725998" elapsed="0.001905"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.757411" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.757460" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.728046" elapsed="0.029438"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.759313" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.757565" elapsed="0.001806"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.757546" elapsed="0.001851"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.759432" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:00.759639" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.759685" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.704845" elapsed="0.054864"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.761927" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.760300" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.760281" elapsed="0.001716"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.762583" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.762148" elapsed="0.000480"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.763152" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.762794" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.763229" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:00.763429" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.759940" elapsed="0.003514"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.763613" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.704212" elapsed="0.059864"/>
</kw>
<arg>f107.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.656760" elapsed="0.107436"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.649741" elapsed="0.114603"/>
</test>
<test id="s1-s3-s1-t37" name="Test Is Flow 108 Added" line="121">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.775418" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.775577" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.775270" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.776200" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.775760" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.776688" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.776400" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.777142" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.776869" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.777609" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.777337" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.778756" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.777787" elapsed="0.001000"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.779305" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.778950" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.779879" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.779546" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.780427" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.780077" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.780944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.780623" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.781487" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.781144" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.782010" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.781687" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.774921" elapsed="0.007187"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.782675" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.782275" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.783103" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.782859" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.790976" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.790663" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.797578" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.798348" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1041'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.798466" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.791135" elapsed="0.007393"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.799024" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.798747" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.801278" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.799219" elapsed="0.002124"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.803207" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.801421" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.801398" elapsed="0.001901"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.806572" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.806643" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.803444" elapsed="0.003223"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.808651" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.806743" elapsed="0.001964"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.806725" elapsed="0.002007"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.808767" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:00.808971" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.809016" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.790313" elapsed="0.018726"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.811272" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.809622" elapsed="0.001698"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.809605" elapsed="0.001738"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.811903" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.811493" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.812462" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.812093" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.812537" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.812715" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.809282" elapsed="0.003459"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.812896" elapsed="0.000413"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.789730" elapsed="0.023642"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.821250" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.820934" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.837709" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.838140" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.838473" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.821409" elapsed="0.017092"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.838983" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.838707" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.841509" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.839175" elapsed="0.003269"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.844336" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.842520" elapsed="0.001867"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.842499" elapsed="0.001911"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.874642" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.874694" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.844552" elapsed="0.030165"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.876569" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.874802" elapsed="0.001824"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.874782" elapsed="0.001870"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.876687" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:00.876897" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.876942" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.820553" elapsed="0.056412"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.879231" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.877576" elapsed="0.001722"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.877557" elapsed="0.001764"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.879900" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.879473" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.880471" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.880094" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.880549" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:00.880732" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.877205" elapsed="0.003552"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.880917" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.819915" elapsed="0.061480"/>
</kw>
<arg>f108.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.771603" elapsed="0.109851"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.764660" elapsed="0.116918"/>
</test>
<test id="s1-s3-s1-t38" name="Test Is Flow 109 Added" line="123">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:00.892667" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:00.892833" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:00.892520" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:00.893484" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd800&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:00.893018" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.893957" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.893667" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.894425" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.894136" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:00.894901" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:00.894628" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.896032" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:00.895079" elapsed="0.000984"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.896585" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.896228" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.897168" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.896838" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.897713" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.897384" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.898245" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.897915" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.898780" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.898449" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.899319" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd800&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:00.898981" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:00.892170" elapsed="0.007248"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.899961" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.899572" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.900407" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.900144" elapsed="0.000329"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.908289" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.907962" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.914821" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.915607" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1037'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:00.915724" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.908449" elapsed="0.007342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.916228" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.915963" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.918474" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.916440" elapsed="0.002098"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.920405" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.918639" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.918616" elapsed="0.001865"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.923759" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.923806" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:00.920624" elapsed="0.003206"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.925792" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.923905" elapsed="0.001945"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.923886" elapsed="0.001989"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.925910" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:00.926113" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:00.926158" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.907641" elapsed="0.018540"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.928393" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.926772" elapsed="0.001668"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.926754" elapsed="0.001709"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.929026" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.928615" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.929594" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.929218" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.929672" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:00.929855" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.926415" elapsed="0.003466"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.930041" elapsed="0.000416"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.907056" elapsed="0.023465"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.938383" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:00.938063" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:00.956563" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:00.957004" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:00.957355" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:00.938541" elapsed="0.018842"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.957878" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.957584" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.960433" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:00.958070" elapsed="0.003320"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.963285" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.961471" elapsed="0.001868"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.961448" elapsed="0.001914"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:00.993503" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:00.993570" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:00.963506" elapsed="0.030089"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:00.995542" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:00.993719" elapsed="0.001881"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.993689" elapsed="0.001937"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:00.995660" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:00.995875" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:00.995920" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:00.937680" elapsed="0.058263"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:00.998219" elapsed="0.000030"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:00.996552" elapsed="0.001730"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:00.996534" elapsed="0.001770"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.998919" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.998458" elapsed="0.000489"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:00.999486" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:00.999111" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:00.999562" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:00.999744" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:00.996186" elapsed="0.003584"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:00.999926" elapsed="0.000412"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:00.937040" elapsed="0.063367"/>
</kw>
<arg>f109.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:00.888836" elapsed="0.111630"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:00.881902" elapsed="0.118693"/>
</test>
<test id="s1-s3-s1-t39" name="Test Is Flow 110 Added" line="125">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.011827" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.012026" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.011683" elapsed="0.000373"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.012658" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d04f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.012209" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.013126" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.012840" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.013595" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.013320" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.014046" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.013773" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.015090" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.014225" elapsed="0.000897"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.015639" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.015301" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.016262" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.015910" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.016800" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.016464" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.017334" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.016999" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.017879" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.017538" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.018421" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d04f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.018082" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.011350" elapsed="0.007201"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.019096" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.018708" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.019545" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.019302" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.027509" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.027184" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.033952" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.034635" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '855'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.034751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.027666" elapsed="0.007115"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.035216" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.034953" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.037496" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.035477" elapsed="0.002081"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.039452" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.037633" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.037610" elapsed="0.001919"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.042751" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.042797" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.039671" elapsed="0.003149"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.044764" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.042895" elapsed="0.001925"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.042876" elapsed="0.001969"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.044878" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:01.045077" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.045122" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.026866" elapsed="0.018279"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.047334" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.045716" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.045699" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.047954" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.047553" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.048515" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.048143" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.048591" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.048773" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.045379" elapsed="0.003426"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.049102" elapsed="0.000409"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.026274" elapsed="0.023301"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.057381" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.057064" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.077606" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.078027" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.078350" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.057535" elapsed="0.020842"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.078837" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.078569" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.081325" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.079026" elapsed="0.003247"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.084143" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.082349" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.082327" elapsed="0.001890"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.113125" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.113174" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.084374" elapsed="0.028824"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.115036" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.113295" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.113274" elapsed="0.001845"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.115153" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:01.115373" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.115418" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.056677" elapsed="0.058764"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.117615" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.116017" elapsed="0.001644"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.116000" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.118289" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.117834" elapsed="0.000484"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.118880" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.118519" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.118957" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.119137" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.115675" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.119335" elapsed="0.000394"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.056046" elapsed="0.063746"/>
</kw>
<arg>f110.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.007988" elapsed="0.111861"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.001047" elapsed="0.118925"/>
</test>
<test id="s1-s3-s1-t40" name="Test Is Flow 113 Added" line="127">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.130811" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.130997" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.130664" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.131632" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.131180" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.132096" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.131813" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.132564" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.132291" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.133022" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.132745" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.134116" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.133200" elapsed="0.000947"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.134682" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.134322" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.135270" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.134923" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.135801" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.135470" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.136330" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.135996" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.136855" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.136530" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.137395" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.137054" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.130306" elapsed="0.007188"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.138034" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.137646" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.138515" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.138218" elapsed="0.000366"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.146373" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.146048" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.154128" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.155121" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1007'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.155258" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.146559" elapsed="0.008727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.155765" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.155495" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.157955" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.155955" elapsed="0.002064"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.160366" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.158093" elapsed="0.002345"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.158072" elapsed="0.002398"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.165161" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.165227" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.160667" elapsed="0.004612"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.167662" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.165385" elapsed="0.002332"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.165360" elapsed="0.002383"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.167776" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:01.167975" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.168020" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.145729" elapsed="0.022314"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.170250" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.168611" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.168594" elapsed="0.001727"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.170899" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.170493" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.171460" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.171091" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.171536" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.171717" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.168275" elapsed="0.003467"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.171899" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.145153" elapsed="0.027218"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.180202" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.179900" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.192062" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.193083" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.193845" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.180375" elapsed="0.013554"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.195135" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.194421" elapsed="0.000860"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.200220" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.195633" elapsed="0.005941"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.204363" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.201690" elapsed="0.002748"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.201657" elapsed="0.002813"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.237512" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.237562" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.204669" elapsed="0.032918"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.239468" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.237668" elapsed="0.001858"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.237648" elapsed="0.001904"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.239587" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:01.239798" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.239844" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.179522" elapsed="0.060346"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.242097" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.240477" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.240459" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.242779" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.242336" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.243354" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.242975" elapsed="0.000407"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.243433" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:01.243618" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.240109" elapsed="0.003536"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.243805" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.178884" elapsed="0.065404"/>
</kw>
<arg>f113.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.127032" elapsed="0.117314"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.120165" elapsed="0.124318"/>
</test>
<test id="s1-s3-s1-t41" name="Test Is Flow 156 Added" line="129">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.255654" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.255819" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.255507" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.256439" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b6f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.256000" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.256910" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.256620" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.257379" level="INFO">${flow_id} = 279</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.257089" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.257832" level="INFO">${flow_priority} = 156</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.257556" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.258730" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.258008" elapsed="0.000753"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.259273" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.258921" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.259852" level="INFO">${flow_id} = 279</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.259521" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.260394" level="INFO">${flow_priority} = 156</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.260048" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.260913" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.260589" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.261449" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.261110" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.261971" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b6f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.261648" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.255150" elapsed="0.006918"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.262648" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.262217" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.263072" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;279&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
      &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;156&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;
    &lt;priority&gt;156&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.262830" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.271322" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.270994" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.277980" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.278608" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '761'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.278719" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.271481" elapsed="0.007265"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.279172" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.278915" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.281368" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.279378" elapsed="0.002092"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.283585" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.281543" elapsed="0.002114"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.281522" elapsed="0.002167"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.287988" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.288054" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.283886" elapsed="0.004201"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.290704" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.288191" elapsed="0.002598"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.288165" elapsed="0.002653"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.290852" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.291053" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.291099" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 279 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.270673" elapsed="0.020450"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.293295" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.291692" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.291674" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.293917" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.293514" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.294518" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.294107" elapsed="0.000437"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.294594" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.294776" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.291355" elapsed="0.003447"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.294958" elapsed="0.000413"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.270040" elapsed="0.025395"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.303456" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.303135" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.318704" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.319174" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.319573" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.303613" elapsed="0.015989"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.320152" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.319835" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.322720" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.320361" elapsed="0.003302"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.325516" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.323747" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.323722" elapsed="0.001870"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.356969" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.357019" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.325736" elapsed="0.031307"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.358915" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.357127" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.357106" elapsed="0.001892"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.359034" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:01.359283" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.359331" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 279 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.302755" elapsed="0.056600"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.361558" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.359957" elapsed="0.001647"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.359939" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.362199" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.361780" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.362884" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.362506" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.362960" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:01.363139" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.359608" elapsed="0.003556"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.363363" elapsed="0.000401"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.302093" elapsed="0.061736"/>
</kw>
<arg>f156.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.251780" elapsed="0.112110"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.244705" elapsed="0.119315"/>
</test>
<test id="s1-s3-s1-t42" name="Test Is Flow 201 Added" line="131">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.375501" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.375659" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.375356" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.376288" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.375841" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.376757" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.376474" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.377206" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.376937" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.377670" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.377400" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.379631" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.377846" elapsed="0.001817"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.380171" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.379833" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.380768" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.380435" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.381368" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.380967" elapsed="0.000448"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.381891" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.381571" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.382583" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.382089" elapsed="0.000542"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.383200" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.382787" elapsed="0.000479"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.374996" elapsed="0.008328"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.383866" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.383477" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.384317" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.384050" elapsed="0.000331"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.394047" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.393730" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.401850" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.402586" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '869'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.402712" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.394205" elapsed="0.008534"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.403160" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.402902" elapsed="0.000360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.405471" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.403411" elapsed="0.002123"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.407707" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.405609" elapsed="0.002171"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.405587" elapsed="0.002226"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.412377" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.412443" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.408010" elapsed="0.004466"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.414982" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.412582" elapsed="0.002457"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.412556" elapsed="0.002508"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.415098" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:01.415318" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.415363" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.393411" elapsed="0.021975"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.417561" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.415950" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.415932" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.418195" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.417786" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.418796" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.418439" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.418872" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.419051" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.415611" elapsed="0.003465"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.419247" elapsed="0.000397"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.392829" elapsed="0.026878"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.427710" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.427403" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.440099" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.440618" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.440978" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.427868" elapsed="0.013139"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.441558" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.441227" elapsed="0.000378"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.444093" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.441750" elapsed="0.003296"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.446940" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.445127" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.445104" elapsed="0.001913"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.475675" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.475724" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.447161" elapsed="0.028588"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.477574" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.475830" elapsed="0.001802"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.475811" elapsed="0.001847"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.477692" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:01.477905" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.477951" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.427007" elapsed="0.050968"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.480213" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.478610" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.478591" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.480867" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.480454" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.481435" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.481061" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.481513" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:01.481695" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.478212" elapsed="0.003509"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.481880" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.426356" elapsed="0.056027"/>
</kw>
<arg>f201.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.371362" elapsed="0.111083"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.364404" elapsed="0.118166"/>
</test>
<test id="s1-s3-s1-t43" name="Test Is Flow 202 Added" line="133">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.493635" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.493812" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.493491" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.494540" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fd30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.493996" elapsed="0.000575"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.495012" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.494728" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.495485" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.495190" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.495938" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.495663" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.496829" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.496115" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.497368" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.497017" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.497927" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.497602" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.498579" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.498216" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.499087" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.498773" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.499617" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.499298" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.500133" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fd30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.499813" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.493135" elapsed="0.007094"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.500775" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.500395" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.501195" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.500957" elapsed="0.000316"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.509201" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.508892" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.516682" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.517577" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '879'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.517731" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.509375" elapsed="0.008393"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.518394" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.517997" elapsed="0.000517"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.521536" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.518721" elapsed="0.002901"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.524293" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.521721" elapsed="0.002644"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.521693" elapsed="0.002704"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.528327" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.528374" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.524595" elapsed="0.003803"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.530198" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.528473" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.528454" elapsed="0.001841"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.530328" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:01.530538" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.530583" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.508573" elapsed="0.022032"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.534635" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.531149" elapsed="0.003533"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.531132" elapsed="0.003572"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.535267" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.534852" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.535813" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.535458" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.535887" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.536067" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.530817" elapsed="0.005275"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.536269" elapsed="0.000389"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.507999" elapsed="0.028722"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.544634" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.544330" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.561693" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.562723" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.563457" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.544791" elapsed="0.018727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.564585" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.563935" elapsed="0.000752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.569027" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.565006" elapsed="0.005371"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.572979" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.570491" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.570459" elapsed="0.002626"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.599958" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.600005" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.573304" elapsed="0.026725"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.601881" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.600112" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.600092" elapsed="0.001872"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.601998" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:01.602207" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.602275" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.543937" elapsed="0.058362"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.604519" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.602908" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.602890" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.605157" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.604739" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.605729" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.605373" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.605806" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.605985" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.602563" elapsed="0.003447"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.606168" elapsed="0.000448"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.543316" elapsed="0.063365"/>
</kw>
<arg>f202.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.489822" elapsed="0.116918"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.482888" elapsed="0.123980"/>
</test>
<test id="s1-s3-s1-t44" name="Test Is Flow 203 Added" line="135">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.617948" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.618137" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.617804" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.618807" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.618381" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.619292" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.618991" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.619752" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.619472" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.620200" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.619929" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.621103" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.620401" elapsed="0.000733"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.621646" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.621310" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.622248" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.621903" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.622816" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.622481" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.623348" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.623014" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.623873" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.623550" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.624411" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.624073" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.617467" elapsed="0.007043"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.625044" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.624661" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.625485" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.625228" elapsed="0.000321"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.633527" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.633205" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.639407" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.640178" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '870'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.640353" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.633688" elapsed="0.006701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.640972" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.640617" elapsed="0.000467"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.644121" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.641311" elapsed="0.002894"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.646806" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.644328" elapsed="0.002548"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.644300" elapsed="0.002608"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.651295" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.651342" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.647104" elapsed="0.004262"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.653336" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.651441" elapsed="0.001951"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.651422" elapsed="0.001995"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.653451" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.653646" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.653691" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.632887" elapsed="0.020826"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.656058" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.654273" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.654254" elapsed="0.001873"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.656694" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.656291" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.657254" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.656886" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.657331" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:01.657513" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.653924" elapsed="0.003614"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.657696" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.632325" elapsed="0.025819"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.666000" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.665700" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.681673" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.682376" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.682892" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.666156" elapsed="0.016776"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.683718" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.683275" elapsed="0.000508"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.687341" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.683989" elapsed="0.004671"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.691201" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.688786" elapsed="0.002484"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.688745" elapsed="0.002550"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.717920" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.717968" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.691442" elapsed="0.026550"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.719837" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.718072" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.718053" elapsed="0.001866"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.719953" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:01.720170" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.720215" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.665321" elapsed="0.054931"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.722460" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.720840" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.720822" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.723095" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.722681" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.723665" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.723307" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.723742" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:01.723927" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.720495" elapsed="0.003457"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.724110" elapsed="0.000413"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.664683" elapsed="0.059903"/>
</kw>
<arg>f203.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.614122" elapsed="0.110521"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.607191" elapsed="0.117576"/>
</test>
<test id="s1-s3-s1-t45" name="Test Is Flow 204 Added" line="137">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.735803" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.735959" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.735658" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.736581" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5bc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.736143" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.737047" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.736763" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.737518" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.737227" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.737975" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.737698" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.738909" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.738154" elapsed="0.000787"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.739455" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.739102" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.740027" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.739692" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.740575" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.740224" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.741092" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.740772" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.741643" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.741307" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.742166" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5bc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.741842" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.735322" elapsed="0.006967"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.742829" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.742442" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.743270" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.743011" elapsed="0.000324"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.751325" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.750998" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.758694" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.759411" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '880'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.759548" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.751484" elapsed="0.008091"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.760084" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.759787" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.762526" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.760358" elapsed="0.002230"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.765163" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.762671" elapsed="0.002590"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.762647" elapsed="0.002651"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.769891" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.769956" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.765499" elapsed="0.004489"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.772521" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.770093" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.770067" elapsed="0.002568"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.772682" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:01.772965" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.773029" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.750677" elapsed="0.022384"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.775753" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.773876" elapsed="0.001924"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.773852" elapsed="0.001971"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.776398" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.775975" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.776940" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.776588" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.777016" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.777196" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.773398" elapsed="0.003824"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.777396" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.750048" elapsed="0.027813"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.785927" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.785620" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.802094" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.803145" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.803896" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.786087" elapsed="0.017872"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.805067" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.804425" elapsed="0.000747"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.810874" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.805542" elapsed="0.006332"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.813749" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.811961" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.811935" elapsed="0.001891"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.894089" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.894156" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.813973" elapsed="0.080209"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.896383" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.894357" elapsed="0.002088"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.894323" elapsed="0.002150"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.896512" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:01.896732" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:01.896778" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.785222" elapsed="0.111579"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.899076" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.897431" elapsed="0.001694"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.897412" elapsed="0.001735"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.899847" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.899331" elapsed="0.000545"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.900464" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.900062" elapsed="0.000430"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.900542" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.900725" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.897052" elapsed="0.003698"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.900917" elapsed="0.000430"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.784596" elapsed="0.116816"/>
</kw>
<arg>f204.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.731991" elapsed="0.169481"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.725079" elapsed="0.176522"/>
</test>
<test id="s1-s3-s1-t46" name="Test Is Flow 205 Added" line="139">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:01.912808" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:01.913075" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:01.912663" elapsed="0.000442"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:01.913727" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:01.913285" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.914198" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.913915" elapsed="0.000353"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.914698" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.914424" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:01.915149" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:01.914877" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.916248" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:01.915342" elapsed="0.000938"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.916784" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.916444" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.917384" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.917040" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.917920" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.917583" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.918490" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.918117" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.919013" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.918688" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.919549" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:01.919210" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:01.912326" elapsed="0.007320"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.920186" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.919801" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.920626" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.920384" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.928435" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.928111" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.935312" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.936074" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '999'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:01.936209" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.928593" elapsed="0.007658"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.936826" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.936523" elapsed="0.000351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.939229" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.937019" elapsed="0.002321"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.941942" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.939449" elapsed="0.002566"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.939417" elapsed="0.002630"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:01.946614" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:01.946680" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:01.942282" elapsed="0.004430"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:01.949491" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:01.946823" elapsed="0.002746"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.946794" elapsed="0.002811"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:01.949651" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:01.949930" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:01.949992" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.927792" elapsed="0.022231"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.952475" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.950856" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.950837" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.953105" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.952695" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.953670" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:01.953312" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:01.953747" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:01.953928" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:01.950402" elapsed="0.003552"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:01.954113" elapsed="0.000441"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.927221" elapsed="0.027398"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.962569" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:01.962258" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:01.977551" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:01.978741" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:01.979517" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:01.962730" elapsed="0.016854"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.980821" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.980063" elapsed="0.000867"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:01.986864" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:01.981292" elapsed="0.006575"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:01.989796" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:01.987971" elapsed="0.001883"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:01.987937" elapsed="0.001942"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.016503" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.016570" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:01.990044" elapsed="0.026551"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.018756" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.016711" elapsed="0.002107"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.016679" elapsed="0.002167"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.018885" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:02.019120" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.019165" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:01.961816" elapsed="0.057372"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.021551" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.019875" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.019857" elapsed="0.001773"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.022453" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.021825" elapsed="0.000658"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.023117" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.022678" elapsed="0.000474"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.023214" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:02.023451" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.019496" elapsed="0.003986"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.023687" elapsed="0.000421"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:01.961175" elapsed="0.062998"/>
</kw>
<arg>f205.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:01.909001" elapsed="0.115248"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:01.901992" elapsed="0.122394"/>
</test>
<test id="s1-s3-s1-t47" name="Test Is Flow 206 Added" line="141">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.035762" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.035944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.035613" elapsed="0.000361"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.036605" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.036131" elapsed="0.000502"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.037075" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.036788" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.037543" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.037268" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.037996" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.037720" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.039164" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.038193" elapsed="0.001003"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.039718" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.039377" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.040318" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.039970" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.040853" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.040517" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.041379" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.041047" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.041899" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.041578" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.042523" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.042100" elapsed="0.000468"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.035267" elapsed="0.007358"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.043170" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.042780" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.043618" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.043371" elapsed="0.000315"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.051581" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.051261" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.058732" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.060361" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '1007'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.060615" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.051740" elapsed="0.008929"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.061729" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.061139" elapsed="0.000690"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.066506" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.062134" elapsed="0.004493"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.069268" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.066774" elapsed="0.002567"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.066729" elapsed="0.002643"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.074080" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.074185" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.069570" elapsed="0.004652"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.077078" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.074350" elapsed="0.002808"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.074322" elapsed="0.002873"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.077262" elapsed="0.000051"/>
</return>
<msg time="2026-05-25T00:36:02.077554" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.077616" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.050916" elapsed="0.026734"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.079975" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.078367" elapsed="0.001656"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.078348" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.080724" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.080209" elapsed="0.000543"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.081297" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.080919" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.081375" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:02.081560" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.077952" elapsed="0.003634"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.081746" elapsed="0.000435"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.050335" elapsed="0.031929"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.090311" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.089911" elapsed="0.000437"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.106334" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.107033" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.107568" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.090515" elapsed="0.017095"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.108441" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.107937" elapsed="0.000575"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.112317" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.108727" elapsed="0.004930"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.115983" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.113792" elapsed="0.002252"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.113749" elapsed="0.002320"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.143040" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.143108" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.116279" elapsed="0.026853"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.145146" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.143274" elapsed="0.001935"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.143227" elapsed="0.002027"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.145297" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:02.145522" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.145569" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.089517" elapsed="0.056076"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.147899" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.146277" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.146257" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.148621" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.148124" elapsed="0.000526"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.149170" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.148815" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.149262" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:02.149446" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.145854" elapsed="0.003617"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.149629" elapsed="0.000416"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.088831" elapsed="0.061278"/>
</kw>
<arg>f206.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.031846" elapsed="0.118340"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.024782" elapsed="0.125550"/>
</test>
<test id="s1-s3-s1-t48" name="Test Is Flow 209 Added" line="143">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.161634" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.161805" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.161486" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.162463" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.161988" elapsed="0.000504"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.162935" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.162646" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.163531" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.163257" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.164011" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.163740" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.165092" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.164187" elapsed="0.000937"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.165641" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.165303" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.166257" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.165898" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.166791" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.166459" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.167321" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.166988" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.167850" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.167523" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.168386" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.168048" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.161128" elapsed="0.007357"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.169021" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.168637" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.169599" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.169357" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.177994" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.177670" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.186415" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.187099" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '897'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.187212" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.178168" elapsed="0.009086"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.187729" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.187467" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.190007" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.187925" elapsed="0.002144"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.192438" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.190179" elapsed="0.002330"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.190156" elapsed="0.002385"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.197323" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.197393" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.192740" elapsed="0.004688"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.200370" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.197540" elapsed="0.002915"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.197511" elapsed="0.002981"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.200541" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:02.200841" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.200907" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.177347" elapsed="0.023594"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.203784" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.201785" elapsed="0.002047"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.201758" elapsed="0.002097"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.204443" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.204006" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.204993" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.204635" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.205091" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:02.205312" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.201284" elapsed="0.004053"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.205496" elapsed="0.000399"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.176711" elapsed="0.029249"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.213847" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.213541" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.231526" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.232581" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.233327" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.214004" elapsed="0.019390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.234565" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.233805" elapsed="0.000874"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.240557" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.235025" elapsed="0.007684"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.244633" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.242844" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.242816" elapsed="0.001896"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.271191" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.271295" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.244857" elapsed="0.026466"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.273342" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.271447" elapsed="0.001956"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.271415" elapsed="0.002016"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.273471" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:02.273695" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.273741" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.213145" elapsed="0.060619"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.276018" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.274421" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.274402" elapsed="0.001685"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.276717" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.276255" elapsed="0.000490"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.277277" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.276908" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.277355" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.277536" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.274024" elapsed="0.003537"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.277719" elapsed="0.000441"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.212519" elapsed="0.065705"/>
</kw>
<arg>f209.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.157656" elapsed="0.120644"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.150648" elapsed="0.127783"/>
</test>
<test id="s1-s3-s1-t49" name="Test Is Flow 214 Added" line="145">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.289467" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.289640" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.289318" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.290313" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.289828" elapsed="0.000514"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.290784" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.290497" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.291247" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.290963" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.291694" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.291426" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.292565" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.291869" elapsed="0.000727"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.293259" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.292754" elapsed="0.000550"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.293853" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.293516" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.294412" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.294050" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.294929" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.294612" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.295470" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.295129" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.296031" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.295702" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.288963" elapsed="0.007166"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.296689" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.296306" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.297115" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.296873" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.304958" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.304649" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.314206" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.315020" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '719'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.315173" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.305114" elapsed="0.010094"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.315812" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.315456" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.318965" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.316075" elapsed="0.003032"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.321713" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.319210" elapsed="0.002574"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.319182" elapsed="0.002634"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.326048" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.326132" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.322011" elapsed="0.004154"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.328684" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.326290" elapsed="0.002472"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.326263" elapsed="0.002534"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.328845" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:02.329118" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.329179" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.304330" elapsed="0.024881"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.332112" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.330156" elapsed="0.002004"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.330129" elapsed="0.002054"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.332752" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.332348" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.333314" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.332943" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.333391" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:02.333571" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.329638" elapsed="0.003958"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.333752" elapsed="0.000425"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.303751" elapsed="0.030507"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.342321" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.341969" elapsed="0.000381"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.358281" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.359218" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.359920" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.342479" elapsed="0.017502"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.360949" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.360374" elapsed="0.000678"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.366644" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.361404" elapsed="0.006592"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.370692" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.368097" elapsed="0.002666"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.368069" elapsed="0.002725"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.400529" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.400579" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.370989" elapsed="0.029614"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.402478" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.400688" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.400667" elapsed="0.001893"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.402594" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:02.402794" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.402843" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.341579" elapsed="0.061287"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.405051" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.403449" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.403431" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.405709" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.405291" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.406293" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.405903" elapsed="0.000418"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.406372" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.406554" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.403090" elapsed="0.003490"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.406737" elapsed="0.000396"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.340915" elapsed="0.066281"/>
</kw>
<arg>f214.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.285628" elapsed="0.121643"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.278645" elapsed="0.128754"/>
</test>
<test id="s1-s3-s1-t50" name="Test Is Flow 218 Added" line="147">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.418557" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.418711" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.418415" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.419314" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356700&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.418898" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.419778" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.419495" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.420224" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.419954" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.420688" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.420418" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.421443" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.420862" elapsed="0.000612"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.421961" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.421629" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.422578" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.422227" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.423109" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.422774" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.423637" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.423320" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.424153" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.423834" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.424687" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356700&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.424365" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.418056" elapsed="0.006728"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.425335" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.424939" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.425755" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.425516" elapsed="0.000297"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.433730" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.433423" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.440419" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.440884" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '563'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.440990" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.433888" elapsed="0.007129"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.441458" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.441180" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.443672" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.441651" elapsed="0.002111"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.445621" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.443838" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.443816" elapsed="0.001880"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.449196" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.449283" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.445838" elapsed="0.003480"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.451878" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.449422" elapsed="0.002534"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.449396" elapsed="0.002596"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.452039" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:02.452337" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.452400" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.433087" elapsed="0.019345"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.455496" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.453193" elapsed="0.002368"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.453168" elapsed="0.002425"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.456416" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.455807" elapsed="0.000647"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.457173" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.456682" elapsed="0.000528"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.457301" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:02.457554" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.452729" elapsed="0.004860"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.457809" elapsed="0.000601"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.432524" elapsed="0.025976"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.466651" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.466344" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.481690" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.482695" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.483377" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.466809" elapsed="0.016629"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.484399" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.483800" elapsed="0.000703"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.489982" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.484825" elapsed="0.006842"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.494259" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.491769" elapsed="0.002564"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.491742" elapsed="0.002623"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.524777" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.524827" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.494560" elapsed="0.030291"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.526710" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.524933" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.524914" elapsed="0.001880"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.526828" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.527027" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.527071" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.465914" elapsed="0.061179"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.529280" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.527672" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.527654" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.529911" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.529498" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.530509" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.530133" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.530585" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:02.530764" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.527333" elapsed="0.003456"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.530946" elapsed="0.000406"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.465282" elapsed="0.066134"/>
</kw>
<arg>f218.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.414737" elapsed="0.116737"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.407714" elapsed="0.123884"/>
</test>
<test id="s1-s3-s1-t51" name="Test Is Flow 219 Added" line="149">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.542717" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.542867" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.542574" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.543473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7f10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.543047" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.543934" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.543654" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.544396" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.544109" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.544846" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.544572" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.545684" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.545021" elapsed="0.000694"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.546253" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.545873" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.546847" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.546516" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.547391" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.547043" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.547900" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.547585" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.548429" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.548096" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.548951" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7f10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.548627" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.542228" elapsed="0.006821"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.549595" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.549197" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.550041" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.549777" elapsed="0.000327"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.558034" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.557712" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.564140" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.564737" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '740'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.564849" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.558192" elapsed="0.006682"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.565522" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.565253" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.567746" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.565710" elapsed="0.002140"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.569701" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.567930" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.567907" elapsed="0.001895"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.573647" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.573712" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.570034" elapsed="0.003710"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.576370" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.573850" elapsed="0.002603"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.573824" elapsed="0.002667"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.576543" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:02.576853" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.576918" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.557393" elapsed="0.019559"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.579782" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.577836" elapsed="0.001993"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.577810" elapsed="0.002042"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.580472" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.580006" elapsed="0.000493"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.581020" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.580662" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.581095" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:02.581292" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.577327" elapsed="0.003992"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.581477" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.556816" elapsed="0.025132"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.590016" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.589677" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.628532" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.629507" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.630229" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.590179" elapsed="0.040143"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.631305" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.630696" elapsed="0.000716"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.636100" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;531000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;564000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;638000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;685000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;156000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;189000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;726000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;237000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;763000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;271000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;351000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;892000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;851000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;176000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;218000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;259000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;366000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;412000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;81000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;480000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;502000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;8000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;705000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;622000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;657000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;696000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;813000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;896000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;933000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;954000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;422000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;390000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.631736" elapsed="0.005683"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.640044" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.637522" elapsed="0.002593"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.637493" elapsed="0.002653"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.669869" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.669919" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.640366" elapsed="0.029595"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.671846" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.670051" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.670029" elapsed="0.001902"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.671966" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:02.672174" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.672218" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.589295" elapsed="0.082962"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.674471" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.672839" elapsed="0.001678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.672821" elapsed="0.001719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.675116" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.674693" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.675680" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.675325" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.675756" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.675937" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.672493" elapsed="0.003470"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.676121" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.588647" elapsed="0.087957"/>
</kw>
<arg>f219.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.538843" elapsed="0.137819"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.531898" elapsed="0.144892"/>
</test>
<test id="s1-s3-s1-t52" name="Test Is Flow 220 Added" line="151">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.687954" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.688117" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.687811" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.688724" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de2a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.688315" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.689192" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.688909" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.689656" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.689386" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.690332" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.689831" elapsed="0.000533"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.691158" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.690543" elapsed="0.000645"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.691702" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.691361" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.692287" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.691947" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.692810" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.692483" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.693333" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.693003" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.693850" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.693531" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.694421" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de2a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.694080" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.687478" elapsed="0.007041"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.695058" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.694676" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.695495" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.695253" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.703644" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.703309" elapsed="0.000363"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.711356" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.711932" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '658'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.712081" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.703804" elapsed="0.008314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.712724" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.712365" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.715813" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.712994" elapsed="0.002948"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.718565" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.716047" elapsed="0.002590"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.716017" elapsed="0.002653"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.722721" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.722787" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.718867" elapsed="0.003952"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.724613" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.722895" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.722877" elapsed="0.001817"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.724728" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:02.724931" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.724975" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.702969" elapsed="0.022029"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.727162" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.725556" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.725538" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.727793" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.727392" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.728354" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.727988" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.728430" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.728607" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.725209" elapsed="0.003424"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.728789" elapsed="0.000389"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.702377" elapsed="0.026878"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.737229" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.736928" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.749314" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.751528" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.751940" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.737402" elapsed="0.014575"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.752587" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.752204" elapsed="0.000446"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.756058" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.752855" elapsed="0.004541"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.759668" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.757498" elapsed="0.002220"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.757470" elapsed="0.002271"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.785943" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.785991" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.759888" elapsed="0.026127"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.787849" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.786095" elapsed="0.001810"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.786076" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.787966" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.788163" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.788208" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.736551" elapsed="0.051679"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.790458" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.788802" elapsed="0.001703"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.788783" elapsed="0.001745"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.791083" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.790676" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.791647" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.791289" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.791724" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.791904" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.788464" elapsed="0.003466"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.792087" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.735915" elapsed="0.056638"/>
</kw>
<arg>f220.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.684148" elapsed="0.108463"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.677155" elapsed="0.115581"/>
</test>
<test id="s1-s3-s1-t53" name="Test Is Flow 221 Added" line="153">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.803987" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.804135" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.803847" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.804748" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dccc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.804337" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.805211" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.804930" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.805685" level="INFO">${flow_id} = 344</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.805415" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.806152" level="INFO">${flow_priority} = 221</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.805861" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.806992" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.806344" elapsed="0.000678"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.807528" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.807179" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.808091" level="INFO">${flow_id} = 344</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.807763" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.808635" level="INFO">${flow_priority} = 221</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.808303" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.809145" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.808830" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.809683" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.809360" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.810257" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dccc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.809883" elapsed="0.000418"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.803513" elapsed="0.006845"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.810898" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.810512" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.811339" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;344&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;221&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;
    &lt;priority&gt;221&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.811082" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.821019" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.820714" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.848296" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.849531" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '735'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.849795" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.821178" elapsed="0.028675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.850849" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.850277" elapsed="0.000674"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.855772" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.851309" elapsed="0.004667"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.859437" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.856137" elapsed="0.003352"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.856092" elapsed="0.003421"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.862421" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.862467" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.859653" elapsed="0.002837"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.864291" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.862564" elapsed="0.001783"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.862546" elapsed="0.001826"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.864407" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.864603" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.864648" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 344 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.820391" elapsed="0.044279"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.866843" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.865217" elapsed="0.001673"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.865199" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.867478" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.867060" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.868020" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.867668" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.868096" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:02.868291" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.864883" elapsed="0.003435"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.868475" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.819808" elapsed="0.049118"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.877018" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.876715" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.900164" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.901124" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:02.901838" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.877178" elapsed="0.024767"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.903042" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.902466" elapsed="0.000678"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.907963" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.903498" elapsed="0.005805"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.911898" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.909407" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.909379" elapsed="0.002621"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.945339" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.945392" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:02.912195" elapsed="0.033222"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.947325" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.945513" elapsed="0.001872"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.945489" elapsed="0.001922"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.947448" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:02.947660" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:02.947704" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 344 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.876334" elapsed="0.071393"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.949951" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.948349" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.948330" elapsed="0.001690"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.950628" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.950173" elapsed="0.000483"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.951259" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.950821" elapsed="0.000467"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:02.951339" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:02.951520" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.947977" elapsed="0.003569"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:02.951704" elapsed="0.000401"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.875693" elapsed="0.076476"/>
</kw>
<arg>f221.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.799993" elapsed="0.152234"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.793026" elapsed="0.159348"/>
</test>
<test id="s1-s3-s1-t54" name="Test Is Flow 222 Added" line="155">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:02.963434" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:02.963638" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:02.963288" elapsed="0.000379"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:02.964219" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dea70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:02.963823" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.964706" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.964422" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.965159" level="INFO">${flow_id} = 345</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.964890" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:02.965621" level="INFO">${flow_priority} = 222</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:02.965351" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.966371" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:02.965798" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.966894" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.966560" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.967481" level="INFO">${flow_id} = 345</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.967139" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.968005" level="INFO">${flow_priority} = 222</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.967674" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.968529" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.968197" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.969043" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.968725" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.969576" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dea70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:02.969255" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:02.962943" elapsed="0.006729"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.970254" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:02.969822" elapsed="0.000464"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.970679" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;id&gt;345&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.970438" elapsed="0.000297"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.978711" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:02.978402" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:02.986142" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:02.986570" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '432'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:02.986675" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:02.978869" elapsed="0.007831"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.987112" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.986859" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:02.989309" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:02.987318" elapsed="0.002046"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:02.991419" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.989434" elapsed="0.002056"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.989414" elapsed="0.002108"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:02.995341" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:02.995407" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:02.991762" elapsed="0.003678"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:02.997962" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:02.995544" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.995518" elapsed="0.002558"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:02.998124" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:02.998415" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:02.998478" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 345 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:02.978065" elapsed="0.020445"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.001514" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:02.999282" elapsed="0.002296"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:02.999255" elapsed="0.002354"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.002456" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.001813" elapsed="0.000681"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.003107" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.002722" elapsed="0.000411"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.003182" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.003379" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:02.998800" elapsed="0.004605"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.003562" elapsed="0.000390"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:02.977470" elapsed="0.026545"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.012151" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.011843" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.034003" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.034444" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:03.034745" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.012337" elapsed="0.022436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.035209" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.034942" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.037688" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.035418" elapsed="0.003243"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.040517" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.038737" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.038716" elapsed="0.001874"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.070963" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.071013" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:03.040732" elapsed="0.030305"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.072886" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.071122" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.071101" elapsed="0.001869"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.073005" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:03.073209" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:03.073269" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 345 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.011423" elapsed="0.061870"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.075529" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.073893" elapsed="0.001683"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.073875" elapsed="0.001724"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.076170" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.075750" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.076732" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.076378" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.076807" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.076986" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.073529" elapsed="0.003482"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.077169" elapsed="0.000412"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.010765" elapsed="0.066878"/>
</kw>
<arg>f222.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:02.959642" elapsed="0.118058"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:02.952693" elapsed="0.125148"/>
</test>
<test id="s1-s3-s1-t55" name="Test Is Flow 223 Added" line="157">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.088699" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.088857" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.088555" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.089455" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9f80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.089040" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.089931" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.089636" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.090395" level="INFO">${flow_id} = 346</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.090109" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.090838" level="INFO">${flow_priority} = 223</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.090569" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.091565" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.091013" elapsed="0.000582"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.092091" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.091754" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.092673" level="INFO">${flow_id} = 346</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.092345" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.093196" level="INFO">${flow_priority} = 223</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.092870" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.093722" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.093409" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.094293" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.093957" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.094812" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9f80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.094492" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.088206" elapsed="0.006702"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.095458" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.095060" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.095880" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;
        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;346&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.095640" elapsed="0.000296"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.103862" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.103555" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.110102" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.110595" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '546'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:03.110700" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.104019" elapsed="0.006707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.111143" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.110888" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.113330" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.111353" elapsed="0.002033"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.115276" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.113492" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.113470" elapsed="0.001882"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.118043" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.118090" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:03.115494" elapsed="0.002619"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.120328" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.118187" elapsed="0.002220"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.118168" elapsed="0.002274"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.120490" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:03.120761" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:03.120823" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 346 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.103198" elapsed="0.017656"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.123881" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.121634" elapsed="0.002311"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.121609" elapsed="0.002367"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.124866" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.124311" elapsed="0.000592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.125645" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.125130" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.125749" elapsed="0.000080"/>
</return>
<msg time="2026-05-25T00:36:03.126046" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.121148" elapsed="0.004933"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.126321" elapsed="0.000544"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.102627" elapsed="0.024300"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.134772" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.134469" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.150191" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.151151" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:03.151835" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.134934" elapsed="0.016961"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.152866" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.152293" elapsed="0.000675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.158503" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.153319" elapsed="0.006666"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.162561" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.160087" elapsed="0.002543"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.160060" elapsed="0.002602"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.202953" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.203026" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:03.162864" elapsed="0.040188"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.205173" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.203200" elapsed="0.002053"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.203164" elapsed="0.002119"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.205325" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:03.205560" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:03.205605" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 346 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.134061" elapsed="0.071568"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.207909" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.206327" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.206308" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.208628" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.208134" elapsed="0.000522"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.209179" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.208821" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.209271" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:03.209453" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.205930" elapsed="0.003548"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.209637" elapsed="0.000467"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.133409" elapsed="0.076761"/>
</kw>
<arg>f223.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:03.084899" elapsed="0.125352"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:03.078040" elapsed="0.132353"/>
</test>
<test id="s1-s3-s1-t56" name="Test Is Flow 224 Added" line="159">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.221251" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.221420" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.221090" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.222054" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140547830&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.221605" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.222541" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.222251" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.222989" level="INFO">${flow_id} = 347</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.222717" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.223453" level="INFO">${flow_priority} = 224</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.223164" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.224192" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.223630" elapsed="0.000592"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.224733" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.224398" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.225329" level="INFO">${flow_id} = 347</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.224986" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.225870" level="INFO">${flow_priority} = 224</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.225525" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.226392" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.226063" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.226910" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.226589" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.227447" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140547830&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.227110" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.220750" elapsed="0.006794"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.228077" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.227695" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.228515" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;
        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;347&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.228272" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.236486" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.236159" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.242345" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.242867" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '606'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:03.242974" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.236644" elapsed="0.006356"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.243457" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.243166" elapsed="0.000337"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.245661" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.243649" elapsed="0.002152"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.247966" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.245881" elapsed="0.002159"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.245857" elapsed="0.002215"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.251988" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.252053" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:03.248289" elapsed="0.003797"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.254617" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.252188" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.252163" elapsed="0.002568"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.254779" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:03.255060" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:03.255122" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 347 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.235840" elapsed="0.019313"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.258369" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.255948" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.255923" elapsed="0.002571"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.259306" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.258762" elapsed="0.000578"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.259993" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.259549" elapsed="0.000478"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.260090" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:03.260336" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.255480" elapsed="0.004890"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.260573" elapsed="0.000500"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.235277" elapsed="0.025877"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.270401" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.270065" elapsed="0.000364"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.286045" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.286766" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:03.287262" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.270564" elapsed="0.016739"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.287971" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.287567" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.291576" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.288286" elapsed="0.004597"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.295489" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.292998" elapsed="0.002566"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.292964" elapsed="0.002633"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.328494" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.328545" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:03.295795" elapsed="0.032775"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.330429" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.328653" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.328633" elapsed="0.001880"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.330548" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:03.330763" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:03.330807" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 347 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.269649" elapsed="0.061181"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.333035" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.331446" elapsed="0.001635"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.331428" elapsed="0.001675"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.333794" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.333268" elapsed="0.000555"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.334365" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.333989" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.334445" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.334625" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.331078" elapsed="0.003573"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.334807" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.268975" elapsed="0.066315"/>
</kw>
<arg>f224.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:03.217469" elapsed="0.117880"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:03.210607" elapsed="0.124871"/>
</test>
<test id="s1-s3-s1-t57" name="Test Is Flow 225 Added" line="161">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.346670" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.346841" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.346521" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.347445" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4f90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.347025" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.347920" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.347629" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.348411" level="INFO">${flow_id} = 348</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.348108" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.348864" level="INFO">${flow_priority} = 225</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.348590" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.349611" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.349044" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.350173" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.349833" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.350807" level="INFO">${flow_id} = 348</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.350434" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.351511" level="INFO">${flow_priority} = 225</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.351154" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.352029" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.351711" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.352601" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.352268" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.353127" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4f90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.352805" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.346168" elapsed="0.007060"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.353804" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.353398" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.354247" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;
        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;348&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.353990" elapsed="0.000318"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.362258" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.361933" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.368909" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.370118" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '586'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:03.370452" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.362417" elapsed="0.008098"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.371739" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.371002" elapsed="0.000843"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.376827" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.372172" elapsed="0.004895"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.379969" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.377287" elapsed="0.002741"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.377200" elapsed="0.002852"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.382810" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.382857" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:03.380200" elapsed="0.002680"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.384687" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.382956" elapsed="0.001788"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.382937" elapsed="0.001832"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.384804" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:03.385024" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:03.385068" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 348 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.361594" elapsed="0.023497"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.387364" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.385748" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.385729" elapsed="0.001705"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.388006" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.387589" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.388566" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.388196" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.388641" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.388822" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.385364" elapsed="0.003484"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.389009" elapsed="0.000424"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.361015" elapsed="0.028484"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.397456" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.397123" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.414530" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.415621" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:03.416456" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.397623" elapsed="0.018901"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.417779" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.416976" elapsed="0.000920"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.421841" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.418277" elapsed="0.004900"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.426031" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.423360" elapsed="0.002748"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.423323" elapsed="0.002817"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.516577" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.516646" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:03.426363" elapsed="0.090308"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.518747" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.516809" elapsed="0.002002"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.516774" elapsed="0.002067"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.518881" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:03.519110" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:03.519154" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 348 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.396736" elapsed="0.122441"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.521439" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.519834" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.519815" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.522193" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.521679" elapsed="0.000543"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.522766" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.522408" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.522843" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.523025" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.519460" elapsed="0.003590"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.523208" elapsed="0.000436"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.396087" elapsed="0.127621"/>
</kw>
<arg>f225.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:03.342849" elapsed="0.180917"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:03.335805" elapsed="0.188100"/>
</test>
<test id="s1-s3-s1-t58" name="Test Is Flow 550 Added" line="163">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.535195" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.535381" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.535048" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.535979" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4590&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.535565" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.536471" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.536160" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.536917" level="INFO">${flow_id} = 550</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.536648" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.537378" level="INFO">${flow_priority} = 550</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.537093" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.538193" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.537553" elapsed="0.000670"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.538733" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.538399" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.539327" level="INFO">${flow_id} = 550</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.538987" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.539847" level="INFO">${flow_priority} = 550</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.539522" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.540369" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.540040" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.541034" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.540566" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.541580" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4590&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.541250" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.534710" elapsed="0.007006"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.542450" level="INFO">${det} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.541873" elapsed="0.000609"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.542881" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;
            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;
            &lt;extension&gt;
                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;
                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;
                &lt;/nxm-nx-tun-ipv4-src&gt;
            &lt;/extension&gt;
        &lt;/extension-list&gt;
    &lt;/match&gt;
    &lt;id&gt;550&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.542635" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.550816" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.550498" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.559611" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.561832" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '817'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:03.562220" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.550977" elapsed="0.011367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.563323" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.562889" elapsed="0.000485"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.566324" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.563524" elapsed="0.002936"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.568368" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.566553" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.566525" elapsed="0.001925"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.571322" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.571370" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:03.568596" elapsed="0.002798"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.573172" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.571469" elapsed="0.001759"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.571450" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.573305" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:03.573520" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:03.573565" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 550 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.550155" elapsed="0.023433"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.576051" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.574272" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.574246" elapsed="0.001875"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.576711" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.576292" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.577276" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.576908" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.577354" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.577535" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.573889" elapsed="0.003672"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.577745" elapsed="0.000403"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.549546" elapsed="0.028665"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.586104" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:03.585792" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.602259" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.603387" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:03.604138" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.586281" elapsed="0.017919"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.605369" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.604672" elapsed="0.000802"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.609366" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;160000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;642000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;725000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;196000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;229000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;839000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;353000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;894000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;391000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;891000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;998000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;258000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;38000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;299000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;360000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;406000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;452000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;520000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;vlan-id&gt;1234&lt;/vlan-id&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;495000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;542000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;621000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;662000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;697000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;736000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;776000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;853000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;816000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;897000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;133000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;854000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;936000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;173000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;973000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;931000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;462000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;430000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.605840" elapsed="0.004946"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.613686" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.610908" elapsed="0.002858"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.610872" elapsed="0.002929"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.644692" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:03.644740" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:03.614014" elapsed="0.030750"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:03.646704" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:03.644846" elapsed="0.001915"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.644826" elapsed="0.001960"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:03.646820" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:03.647034" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:03.647078" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 550 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:03.585383" elapsed="0.061719"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:03.649334" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:03.647735" elapsed="0.001645"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:03.647716" elapsed="0.001686"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.650016" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.649556" elapsed="0.000489"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.650579" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:03.650209" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:03.650655" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:03.650836" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:03.647369" elapsed="0.003493"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:03.651018" elapsed="0.000415"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:03.584731" elapsed="0.066765"/>
</kw>
<arg>f550.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:03.531368" elapsed="0.120186"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:03.524417" elapsed="0.127264"/>
</test>
<test id="s1-s3-s1-t59" name="Test Update Flows Group 0" line="165">
<for flavor="IN">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.652939" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.652687" elapsed="0.000297"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.656504" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.656663" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.656358" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.657262" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f57b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.656845" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.657747" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.657445" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.658194" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.657924" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.658655" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.658385" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.659434" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.658829" elapsed="0.000636"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.659943" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.659622" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.660511" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.660181" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.661022" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.660707" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.661539" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.661217" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.662091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.661782" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.662623" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f57b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.662311" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.656002" elapsed="0.006719"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.670267" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.669998" elapsed="0.000330"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.687317" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '861', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;124&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;1&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;\n    &lt;priority&gt;1&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.687493" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.687758" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.670459" elapsed="0.017358"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.692899" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.688309" elapsed="0.004686"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.669523" elapsed="0.023609"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.662871" elapsed="0.030421"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.652556" elapsed="0.040930"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.694822" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.694126" elapsed="0.000806"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.700168" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.700421" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.700024" elapsed="0.000428"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.701033" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355530&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.700607" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.701521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.701218" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.701993" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.701719" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.702465" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.702173" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.703277" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.702643" elapsed="0.000665"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.703797" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.703470" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.704333" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.703992" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.704864" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.704546" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.705381" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.705061" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.705929" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.705612" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.706457" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355530&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.706129" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.699665" elapsed="0.006891"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.714005" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.713753" elapsed="0.000311"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.726512" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '947', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;125&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;2&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;\n    &lt;priority&gt;2&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.726758" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.727027" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.714192" elapsed="0.012899"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.732422" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.727554" elapsed="0.004974"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.713294" elapsed="0.019378"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.706707" elapsed="0.026098"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.693787" elapsed="0.039115"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.734106" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.733498" elapsed="0.000710"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.739727" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.739883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.739586" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.740485" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404fa390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.740065" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.740943" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.740666" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.741404" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.741119" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.741882" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.741609" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.742676" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.742057" elapsed="0.000650"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.743192" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.742868" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.743714" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.743403" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.744227" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.743911" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.744768" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.744440" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.745340" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.744996" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.745899" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404fa390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.745545" elapsed="0.000396"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.739228" elapsed="0.006899"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.753584" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.753306" elapsed="0.000383"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.768071" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '923', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;126&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;3&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;\n    &lt;priority&gt;3&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.768286" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.768549" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.753824" elapsed="0.014790"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.774602" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.769061" elapsed="0.005649"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.752855" elapsed="0.022002"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.746295" elapsed="0.028698"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.733148" elapsed="0.041943"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.776403" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.775761" elapsed="0.000752"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.780972" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.781154" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.780824" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.781803" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb78fe0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.781352" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.782423" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.781985" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.782868" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.782599" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.783328" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.783043" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.784165" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.783504" elapsed="0.000691"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.784695" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.784370" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.785198" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.784891" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.785770" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.785415" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.786283" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.785964" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.786867" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.786554" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.787389" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb78fe0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.787064" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.780474" elapsed="0.007013"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.794778" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.794526" elapsed="0.000313"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.805352" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1043', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;127&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34887&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;4&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;\n    &lt;priority&gt;4&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.805441" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.805620" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.794968" elapsed="0.010688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.810949" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.806018" elapsed="0.005028"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.794070" elapsed="0.017112"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.787637" elapsed="0.023702"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.775437" elapsed="0.035994"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.812610" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.811955" elapsed="0.000758"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.819125" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.819307" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.818981" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.819917" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.819490" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.820456" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.820101" elapsed="0.000382"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.820914" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.820638" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.821385" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.821093" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.822271" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.821579" elapsed="0.000724"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.822791" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.822464" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.823316" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.822988" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.823826" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.823511" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.824338" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.824019" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.824846" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.824535" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.825367" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.825044" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.818623" elapsed="0.006842"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.832853" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.832600" elapsed="0.000315"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.846012" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1154', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;128&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;0x800&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;5&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;\n    &lt;priority&gt;5&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.846111" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.846377" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.833044" elapsed="0.013376"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.849757" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.846677" elapsed="0.003143"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.832143" elapsed="0.017812"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.825631" elapsed="0.024456"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.811667" elapsed="0.038520"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.851419" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.850786" elapsed="0.000742"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.858700" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.858880" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.858559" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.859490" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.859061" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.859955" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.859671" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.860418" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.860133" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.860864" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.860594" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.861713" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.861038" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.862227" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.861903" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.862745" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.862437" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.863268" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.862941" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.863760" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.863460" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.864275" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.863954" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.864779" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.864472" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.858199" elapsed="0.006676"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.872222" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.871971" elapsed="0.000366"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.884593" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1114', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;129&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;0x800&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;6&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;\n    &lt;priority&gt;6&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.884683" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.884815" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.872469" elapsed="0.012382"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.888149" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.885084" elapsed="0.003126"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.871525" elapsed="0.016792"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.865023" elapsed="0.023373"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.850473" elapsed="0.037979"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.889132" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.888785" elapsed="0.000408"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.894129" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.894360" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.893924" elapsed="0.000480"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.895279" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.894634" elapsed="0.000688"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.895960" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.895550" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.896645" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.896223" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.897489" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.896907" elapsed="0.000655"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.898876" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.897792" elapsed="0.001129"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.899661" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.899157" elapsed="0.000566"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.900428" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.899952" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.901177" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.900715" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.901929" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.901482" elapsed="0.000550"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.902517" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.902189" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.903022" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.902714" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.893412" elapsed="0.009706"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.910551" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.910298" elapsed="0.000316"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.921546" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1299', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;130&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;7&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;\n    &lt;priority&gt;7&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.921630" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.921750" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.910743" elapsed="0.011034"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.927488" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.922161" elapsed="0.005475"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.909842" elapsed="0.017977"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.903283" elapsed="0.024673"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.888602" elapsed="0.039455"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.929309" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.928674" elapsed="0.000745"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.933213" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.933397" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.933069" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.934125" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3871a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.933670" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.934611" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.934326" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.935066" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.934792" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.935539" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.935262" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.936516" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.935719" elapsed="0.000828"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.937037" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.936707" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.937592" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.937249" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.938142" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.937820" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.938660" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.938355" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.939167" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.938860" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.939687" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3871a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.939380" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.932706" elapsed="0.007079"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.947167" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.946916" elapsed="0.000330"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:03.961950" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1453', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;131&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;\n                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;8&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;\n    &lt;priority&gt;8&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:03.962210" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:03.962494" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.947378" elapsed="0.015175"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.970093" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.962949" elapsed="0.007212"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.946472" elapsed="0.023801"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.939937" elapsed="0.030422"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.928352" elapsed="0.042068"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.971152" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.970781" elapsed="0.000437"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:03.976673" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:03.976926" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:03.976465" elapsed="0.000504"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:03.977888" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e384360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:03.977198" elapsed="0.000733"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.978654" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.978161" elapsed="0.000532"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.979350" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.978923" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:03.980014" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:03.979613" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:03.981444" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:03.980294" elapsed="0.001235"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.982122" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.981767" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.982639" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.982331" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.983144" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.982831" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.983653" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.983351" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.984150" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.983846" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.984669" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e384360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:03.984362" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:03.975932" elapsed="0.008834"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:03.992147" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:03.991896" elapsed="0.000407"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.004071" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1409', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;132&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;0x800&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;9&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;\n    &lt;priority&gt;9&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.004380" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.004714" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:03.992438" elapsed="0.012344"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.008923" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.005335" elapsed="0.003655"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:03.991451" elapsed="0.017629"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:03.984916" elapsed="0.024245"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-05-25T00:36:03.970582" elapsed="0.038636"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.009967" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.009610" elapsed="0.000421"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.014408" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.014581" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.014261" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.015213" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebe43b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.014764" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.015700" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.015416" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.016150" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.015880" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.016617" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.016345" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.017586" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.016794" elapsed="0.000823"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.018114" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.017780" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.018641" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.018327" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.019205" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.018837" elapsed="0.000429"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.019792" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.019482" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.020322" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.019993" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.020835" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebe43b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.020522" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.013888" elapsed="0.007059"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.028368" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.028092" elapsed="0.000341"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.038123" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1413', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;133&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;0x800&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;\n        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;10&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;\n    &lt;priority&gt;10&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.038226" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.038418" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.028564" elapsed="0.009887"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.041324" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.038775" elapsed="0.002596"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.027646" elapsed="0.013793"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.021125" elapsed="0.020431"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.009401" elapsed="0.032197"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.042368" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.041965" elapsed="0.000473"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.047337" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.047556" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.047119" elapsed="0.000479"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.048452" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3568e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.047814" elapsed="0.000679"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.049099" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.048708" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.049776" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.049371" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.050433" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.050031" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.051759" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.050683" elapsed="0.001119"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.052497" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.052025" elapsed="0.000532"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.053201" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.052771" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.053943" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.053531" elapsed="0.000454"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.054454" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.054135" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.054956" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.054650" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.055476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3568e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.055151" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.046627" elapsed="0.008946"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.062906" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.062655" elapsed="0.000316"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.070640" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1404', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;134&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;0x800&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;icmpv4-match&gt;\n            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;\n            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;\n        &lt;/icmpv4-match&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;11&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;\n    &lt;priority&gt;11&lt;/priority&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.070791" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.070934" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.063100" elapsed="0.007871"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.074520" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.071262" elapsed="0.003326"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.062201" elapsed="0.012485"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.055723" elapsed="0.019044"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.041782" elapsed="0.033043"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.075568" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.075187" elapsed="0.000444"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.080582" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.080803" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.080375" elapsed="0.000469"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.081726" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.081066" elapsed="0.000701"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.082407" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.081988" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.083041" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.082659" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.083700" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.083314" elapsed="0.000423"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.085202" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.083950" elapsed="0.001315"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.085963" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.085532" elapsed="0.000474"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.086492" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.086162" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.087008" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.086688" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.087523" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.087202" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.088032" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.087722" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.088556" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.088230" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.079830" elapsed="0.008825"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.096019" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.095763" elapsed="0.000383"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.103735" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1460', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;137&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;0x806&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;arp-op&gt;1&lt;/arp-op&gt;\n        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;\n        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;\n        &lt;arp-source-hardware-address&gt;\n            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;\n        &lt;/arp-source-hardware-address&gt;\n        &lt;arp-target-hardware-address&gt;\n            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;\n        &lt;/arp-target-hardware-address&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;14&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;\n    &lt;priority&gt;14&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.103868" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.104044" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.096297" elapsed="0.007787"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.107312" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.104422" elapsed="0.002960"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.095312" elapsed="0.012163"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.088809" elapsed="0.018749"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.074992" elapsed="0.032626"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.108359" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.107976" elapsed="0.000448"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.113415" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.113685" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.113195" elapsed="0.000531"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.114578" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fabb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.113942" elapsed="0.000677"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.115232" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.114837" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.115893" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.115507" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.116546" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.116142" elapsed="0.000441"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.117873" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.116795" elapsed="0.001112"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.118428" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.118076" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.118940" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.118626" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.119469" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.119135" elapsed="0.000437"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.120036" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.119728" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.120563" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.120249" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.121071" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fabb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.120761" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.112695" elapsed="0.008474"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.130860" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.130608" elapsed="0.000315"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.141673" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1195', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;138&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34887&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;vlan-match&gt;\n            &lt;vlan-id&gt;\n                &lt;vlan-id&gt;78&lt;/vlan-id&gt;\n                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;\n            &lt;/vlan-id&gt;\n        &lt;/vlan-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;15&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;\n    &lt;priority&gt;15&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.141854" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.142112" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.131051" elapsed="0.011122"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.147692" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.142706" elapsed="0.005090"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.130154" elapsed="0.017783"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.121335" elapsed="0.026729"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.107782" elapsed="0.040374"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.149333" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.148728" elapsed="0.000776"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.153206" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.153466" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.153058" elapsed="0.000440"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.154103" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.153657" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.154598" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.154307" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.155056" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.154780" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.155536" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.155254" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.156429" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.155717" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.156963" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.156628" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.157522" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.157165" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.158039" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.157721" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.158555" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.158250" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.159059" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.158753" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.159580" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.159270" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.152693" elapsed="0.006985"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.167175" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.166917" elapsed="0.000335"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.175730" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1200', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;\n    &lt;id&gt;139&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;16&lt;/cookie&gt;\n    &lt;priority&gt;16&lt;/priority&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;vlan-match&gt;\n            &lt;vlan-id&gt;\n                &lt;vlan-id&gt;78&lt;/vlan-id&gt;\n                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;\n            &lt;/vlan-id&gt;\n            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;\n        &lt;/vlan-match&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.175904" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.176055" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.167386" elapsed="0.008707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.178751" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.176381" elapsed="0.002416"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.166467" elapsed="0.012402"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.159831" elapsed="0.019099"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.148424" elapsed="0.030547"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.179510" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.179246" elapsed="0.000310"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.183756" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.183981" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.183545" elapsed="0.000668"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.185092" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa110&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.184466" elapsed="0.000669"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.185823" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.185386" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.186517" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.186091" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.187184" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.186782" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.188650" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.187468" elapsed="0.001228"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.189608" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.188935" elapsed="0.000739"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.190198" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.189884" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.190723" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.190411" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.191218" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.190920" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.191735" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.191430" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.192250" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa110&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.191931" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.183001" elapsed="0.009349"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.199662" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.199408" elapsed="0.000372"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.209184" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1158', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;\n    &lt;id&gt;140&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;17&lt;/cookie&gt;\n    &lt;priority&gt;17&lt;/priority&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34887&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;protocol-match-fields&gt;\n            &lt;mpls-label&gt;567&lt;/mpls-label&gt;\n            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;\n            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;\n        &lt;/protocol-match-fields&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.209303" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.209489" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.199914" elapsed="0.009605"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.214607" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.209760" elapsed="0.004946"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.198947" elapsed="0.015894"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.192502" elapsed="0.022464"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.179093" elapsed="0.035961"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.216169" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.215613" elapsed="0.000685"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.222902" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.223072" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.222757" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.223694" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb6f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.223274" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.224166" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.223883" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.224635" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.224361" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.225085" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.224813" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.225910" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.225279" elapsed="0.000662"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.226450" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.226103" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.226962" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.226650" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.227491" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.227158" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.227989" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.227687" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.228670" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.228352" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.229190" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb6f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.228877" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.222400" elapsed="0.006905"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.236663" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.236412" elapsed="0.000310"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.249637" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '914', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;\n    &lt;id&gt;141&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;18&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;18&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.249723" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.249854" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.236849" elapsed="0.013040"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.253092" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.250119" elapsed="0.003035"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.235957" elapsed="0.017299"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.229476" elapsed="0.023860"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.215321" elapsed="0.038098"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.254106" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.253752" elapsed="0.000416"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.259085" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.259298" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.258891" elapsed="0.000450"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.260106" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b240&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.259554" elapsed="0.000593"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.260773" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.260383" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.261503" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.261077" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.262133" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.261752" elapsed="0.000417"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.263186" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.262402" elapsed="0.000827"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.263918" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.263472" elapsed="0.000506"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.264647" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.264194" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.265403" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.264918" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.266036" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.265681" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.266553" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.266232" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.267055" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b240&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.266749" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.258417" elapsed="0.008734"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.274456" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.274190" elapsed="0.000322"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.285770" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '714', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;\n    &lt;id&gt;142&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;19&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;19&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.285930" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.286169" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.274638" elapsed="0.011624"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.292051" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.286692" elapsed="0.005466"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.273751" elapsed="0.018585"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.267315" elapsed="0.025156"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.253571" elapsed="0.039084"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.293916" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.293332" elapsed="0.000629"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.297467" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.297621" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.297307" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.298210" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29940&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.297804" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.298692" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.298411" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.299144" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.298872" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.299614" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.299339" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.300378" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.299791" elapsed="0.000618"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.300893" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.300568" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.301428" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.301089" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.301941" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.301621" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.302453" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.302134" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.302957" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.302649" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.303527" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29940&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.303191" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.296943" elapsed="0.006683"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.310963" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.310710" elapsed="0.000310"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.324135" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '764', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;\n    &lt;id&gt;143&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;20&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;20&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;\n        &lt;/metadata&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.324296" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.324433" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.311149" elapsed="0.013321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.327648" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.324700" elapsed="0.003010"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.310267" elapsed="0.017526"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.303779" elapsed="0.024093"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.292936" elapsed="0.034992"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.328623" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.328272" elapsed="0.000413"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.333697" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.333885" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.333371" elapsed="0.000554"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.334743" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.334138" elapsed="0.000645"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.335425" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.334994" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.336052" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.335675" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.336693" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.336317" elapsed="0.000412"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.337930" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.336935" elapsed="0.001026"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.338452" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.338118" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.338951" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.338646" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.339470" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.339142" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.339960" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.339662" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.340475" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.340154" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.340975" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.340670" elapsed="0.000346"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.332864" elapsed="0.008206"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.348447" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.348176" elapsed="0.000372"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.361636" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1249', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;\n    &lt;id&gt;144&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;21&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;21&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.361701" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.361793" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.348680" elapsed="0.013139"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.366912" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.362145" elapsed="0.004866"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.347730" elapsed="0.019412"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.341218" elapsed="0.026077"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.328071" elapsed="0.039318"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.368484" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.367896" elapsed="0.000690"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.375085" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.375229" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.374949" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.375837" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2be70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.375429" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.376308" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.376016" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.376756" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.376486" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.377206" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.376938" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.378116" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.377431" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.378642" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.378320" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.379153" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.378841" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.379680" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.379364" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.380217" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.379909" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.380745" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.380434" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.381275" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2be70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.380949" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.374605" elapsed="0.006785"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.388725" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.388473" elapsed="0.000315"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.401709" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1247', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;\n    &lt;id&gt;145&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;22&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;22&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.401800" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.401930" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.388917" elapsed="0.013049"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.406647" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.402188" elapsed="0.004558"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.388017" elapsed="0.018858"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.381541" elapsed="0.025454"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.367609" elapsed="0.039473"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.408186" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.407628" elapsed="0.000690"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.416114" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.416499" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.415813" elapsed="0.000753"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.417888" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.416906" elapsed="0.001011"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.418369" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.418072" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.418822" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.418550" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.419289" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.419001" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.420173" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.419467" elapsed="0.000737"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.420709" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.420388" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.421215" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.420905" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.421757" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.421442" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.422274" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.421956" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.422782" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.422471" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.423306" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.422979" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.415027" elapsed="0.008379"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.430719" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.430467" elapsed="0.000317"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.442906" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1332', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;\n    &lt;id&gt;146&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;23&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;23&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ipv6-label&gt;\n            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;\n        &lt;/ipv6-label&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.443040" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.443170" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.430912" elapsed="0.012294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.446445" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.443460" elapsed="0.003048"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.430013" elapsed="0.016575"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.423556" elapsed="0.023108"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.407336" elapsed="0.039384"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.447420" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.447041" elapsed="0.000442"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.452462" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.452642" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.452271" elapsed="0.000411"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.453463" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.452895" elapsed="0.000609"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.454101" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.453717" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.454754" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.454374" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.455399" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.455002" elapsed="0.000434"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.456412" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.455646" elapsed="0.000809"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.457114" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.456672" elapsed="0.000501"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.457881" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.457443" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.458617" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.458151" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.459339" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.458892" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.460050" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.459618" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.460781" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.460347" elapsed="0.000494"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.451781" elapsed="0.009136"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.468648" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.468398" elapsed="0.000339"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.483694" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '715', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;\n    &lt;id&gt;147&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;24&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;24&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                        &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;tunnel&gt;\n            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;\n        &lt;/tunnel&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.483759" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.483878" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.468866" elapsed="0.015069"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.489166" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.484358" elapsed="0.004933"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.467946" elapsed="0.021525"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.461127" elapsed="0.028472"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.446859" elapsed="0.042834"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.490796" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.490207" elapsed="0.000690"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.496273" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.496436" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.495967" elapsed="0.000499"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.497065" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4deb60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.496621" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.497569" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.497266" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.498026" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.497752" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.498500" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.498206" elapsed="0.000321"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.499458" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.498681" elapsed="0.000808"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.499982" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.499651" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.500508" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.500180" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.501022" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.500702" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.501553" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.501215" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.502060" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.501751" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.502645" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4deb60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.502330" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.495614" elapsed="0.007130"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.510426" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.510154" elapsed="0.000336"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.522097" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1357', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;\n    &lt;id&gt;148&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;25&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;25&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ipv6-label&gt;\n            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;\n        &lt;/ipv6-label&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;icmpv6-match&gt;\n            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;\n            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;\n        &lt;/icmpv6-match&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.522197" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.522371" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.510620" elapsed="0.011791"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.525867" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.522662" elapsed="0.003272"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.509701" elapsed="0.016320"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.502896" elapsed="0.023206"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.489919" elapsed="0.036244"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.526900" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.526532" elapsed="0.000435"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.532186" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.532409" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.531983" elapsed="0.000470"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.533370" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.532732" elapsed="0.000682"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.534061" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.533646" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.534757" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.534351" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.535455" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.535026" elapsed="0.000468"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.536677" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.535720" elapsed="0.001003"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.537497" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.536960" elapsed="0.000602"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.538285" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.537794" elapsed="0.000554"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.539191" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.538578" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.539938" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.539516" elapsed="0.000468"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.540467" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.540137" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.540979" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.540666" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.531477" elapsed="0.009600"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.548409" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.548140" elapsed="0.000329"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.560161" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1034', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;154&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;31&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;\n    &lt;priority&gt;31&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.560294" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.560397" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.548603" elapsed="0.011820"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.565055" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.560597" elapsed="0.004554"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.547696" elapsed="0.017629"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.541228" elapsed="0.024222"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.526339" elapsed="0.039202"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.566638" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.566053" elapsed="0.000682"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.571964" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.572105" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.571825" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.572704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28130&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.572303" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.573171" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.572890" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.573651" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.573379" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.574103" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.573830" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.574895" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.574296" elapsed="0.000629"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.575428" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.575084" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.575937" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.575626" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.576475" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.576133" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.576976" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.576671" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.577560" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.577173" elapsed="0.000434"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.578071" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28130&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.577763" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.571486" elapsed="0.006681"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.585532" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.585249" elapsed="0.000377"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.597000" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '864', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;159&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;36&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;\n    &lt;priority&gt;36&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.597089" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.597225" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.585757" elapsed="0.011587"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.602223" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.597592" elapsed="0.004758"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.584797" elapsed="0.017681"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.578332" elapsed="0.024266"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.565764" elapsed="0.036922"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.603905" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.603356" elapsed="0.000645"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.610810" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.610968" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.610672" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.611573" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404faf20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.611150" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.612033" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.611755" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.612500" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.612211" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.612948" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.612677" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.613777" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.613125" elapsed="0.000683"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.614308" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.613971" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.614814" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.614506" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.615335" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.615008" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.615830" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.615529" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.616389" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.616063" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.616904" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404faf20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.616588" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.610332" elapsed="0.006669"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.624398" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.624131" elapsed="0.000326"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.634708" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '946', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;161&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;38&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;\n    &lt;priority&gt;38&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.634816" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.634981" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.624585" elapsed="0.010434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.638682" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.635353" elapsed="0.003395"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.623686" elapsed="0.015153"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.617157" elapsed="0.021770"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.602908" elapsed="0.036080"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.639737" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.639364" elapsed="0.000441"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.645127" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.645402" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.644919" elapsed="0.000526"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.646308" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.645671" elapsed="0.000680"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.646987" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.646578" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.647741" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.647332" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.648427" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.648004" elapsed="0.000462"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.649765" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.648691" elapsed="0.001119"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.650549" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.650048" elapsed="0.000563"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.651314" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.650837" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.652063" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.651601" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.652813" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.652367" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.653622" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.653102" elapsed="0.000588"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.654225" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.653904" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.644274" elapsed="0.010062"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.661613" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.661362" elapsed="0.000312"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.674846" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1094', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;166&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;icmpv6-match&gt;\n            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;\n            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;\n        &lt;/icmpv6-match&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;\n        &lt;/ip-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;43&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;\n    &lt;priority&gt;43&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.674985" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.675188" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.661801" elapsed="0.013483"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.680476" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.675728" elapsed="0.004848"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.660896" elapsed="0.019808"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.654486" elapsed="0.026337"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.639146" elapsed="0.041766"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.681968" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.681522" elapsed="0.000491"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.685520" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.685663" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.685378" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.686262" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.685846" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.686726" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.686446" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.687172" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.686904" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.687633" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.687364" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.688432" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.687806" elapsed="0.000656"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.688944" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.688622" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.689488" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.689137" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.690003" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.689683" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.690516" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.690196" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.691018" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.690712" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.691542" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.691216" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.684999" elapsed="0.006640"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.698987" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.698729" elapsed="0.000368"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.709466" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '980', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;168&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;1180719718&lt;/metadata&gt;\n            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;\n        &lt;/metadata&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;45&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;\n    &lt;priority&gt;45&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.709552" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.709682" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.699229" elapsed="0.010480"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.714998" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.710013" elapsed="0.005081"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.698274" elapsed="0.016953"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.691791" elapsed="0.023596"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.681135" elapsed="0.034344"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.716737" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.716149" elapsed="0.000689"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.723173" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.723364" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.723028" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.724000" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6e30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.723548" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.724487" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.724184" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.724938" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.724667" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.725418" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.725118" elapsed="0.000327"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.726353" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.725597" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.726873" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.726546" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.727400" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.727072" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.727917" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.727595" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.728435" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.728112" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.729001" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.728688" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.729573" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6e30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.729228" elapsed="0.000389"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.722673" elapsed="0.007001"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.737024" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.736765" elapsed="0.000323"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.749640" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1250', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;\n    &lt;id&gt;224&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;101&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;101&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.749738" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.749880" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.737255" elapsed="0.012663"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.753442" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.750173" elapsed="0.003337"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.736322" elapsed="0.017277"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.729827" elapsed="0.023854"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.715716" elapsed="0.038026"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.754779" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.754199" elapsed="0.000678"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.762328" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.762480" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.762167" elapsed="0.000388"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.763155" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fab60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.762713" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.763639" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.763357" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.764088" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.763819" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.764555" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.764282" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.765528" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.764733" elapsed="0.000826"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.766049" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.765724" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.766573" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.766261" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.767081" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.766769" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.767591" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.767288" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.768094" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.767788" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.768625" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fab60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.768308" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.761741" elapsed="0.006983"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.776065" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.775814" elapsed="0.000316"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.784692" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1376', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;\n    &lt;id&gt;225&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;102&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;102&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.784882" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.785038" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.776275" elapsed="0.008802"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.788821" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.785475" elapsed="0.003411"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.775373" elapsed="0.013606"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.768879" elapsed="0.020183"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.753915" elapsed="0.035208"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.789891" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.789520" elapsed="0.000438"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.795266" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.795523" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.795037" elapsed="0.000530"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.796465" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3868e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.795796" elapsed="0.000712"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.797150" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.796737" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.797866" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.797459" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.798560" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.798133" elapsed="0.000465"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.799968" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.798820" elapsed="0.001194"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.800767" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.800283" elapsed="0.000547"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.801562" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.801059" elapsed="0.000564"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.802332" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.801851" elapsed="0.000544"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.803071" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.802621" elapsed="0.000516"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.803836" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.803382" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.804604" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3868e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.804127" elapsed="0.000539"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.794523" elapsed="0.010224"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.812469" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.812201" elapsed="0.000373"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.821576" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1376', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;\n    &lt;id&gt;226&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;103&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;103&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.821655" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.821769" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.812705" elapsed="0.009091"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.824494" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.822001" elapsed="0.002538"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.811760" elapsed="0.012843"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.804970" elapsed="0.019691"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.789325" elapsed="0.035379"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.825272" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.824957" elapsed="0.000363"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.831309" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.831559" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.831016" elapsed="0.000588"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.832487" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e387650&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.831832" elapsed="0.000698"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.833166" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.832757" elapsed="0.000519"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.833900" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.833506" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.834367" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.834080" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.835304" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.834543" elapsed="0.000792"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.835830" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.835500" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.836349" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.836027" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.836854" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.836544" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.837456" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.837096" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.837964" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.837657" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.838488" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e387650&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.838163" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.830359" elapsed="0.008225"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.845937" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.845685" elapsed="0.000314"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.859065" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1250', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;\n    &lt;id&gt;227&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;104&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;104&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.859209" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.859456" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.846133" elapsed="0.013380"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.867146" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.859875" elapsed="0.007398"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.845229" elapsed="0.022182"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.838735" elapsed="0.028799"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.824819" elapsed="0.042804"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.868728" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.868136" elapsed="0.000693"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.873393" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.873616" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.873230" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.874463" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbb00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.873876" elapsed="0.000617"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.874938" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.874651" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.875405" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.875116" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.875884" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.875583" elapsed="0.000337"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.876966" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.876135" elapsed="0.000863"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.877543" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.877191" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.878060" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.877747" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.878582" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.878268" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.879078" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.878773" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.879614" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.879303" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.880119" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbb00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.879811" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.872847" elapsed="0.007369"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.887501" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.887247" elapsed="0.000318"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.896301" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1255', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;\n    &lt;id&gt;228&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;105&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;105&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.896461" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.896596" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.887693" elapsed="0.008930"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.899304" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.896860" elapsed="0.002490"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.886793" elapsed="0.012624"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.880381" elapsed="0.019093"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.867850" elapsed="0.031666"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.900028" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.899774" elapsed="0.000299"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.903629" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.903797" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.903483" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.904455" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e387b50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.903986" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.904923" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.904639" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.905423" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.905103" elapsed="0.000347"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.905875" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.905602" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.906812" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.906052" elapsed="0.000790"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.907351" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.907011" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.907857" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.907549" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.908383" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.908051" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.908878" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.908578" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.909438" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.909075" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.909944" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e387b50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.909637" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.903108" elapsed="0.006939"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.917423" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.917140" elapsed="0.000389"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.927222" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1261', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;\n    &lt;id&gt;229&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;106&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;106&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.927338" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.927468" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.917659" elapsed="0.009836"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.930159" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.927722" elapsed="0.002481"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.916692" elapsed="0.013592"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.910198" elapsed="0.020145"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.899638" elapsed="0.030746"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.930885" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.930634" elapsed="0.000296"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.936543" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.936857" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.936206" elapsed="0.000714"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.938085" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8130&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.937336" elapsed="0.000779"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.938571" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.938286" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.939028" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.938753" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.939500" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.939209" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.940488" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.939680" elapsed="0.000840"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.941027" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.940685" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.941587" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.941274" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.942102" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.941783" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.942684" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.942370" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.943255" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.942921" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.943771" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8130&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.943459" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.935445" elapsed="0.008424"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.951298" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.951030" elapsed="0.000333"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.961446" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1421', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;\n    &lt;id&gt;230&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;107&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;107&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.961567" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.961738" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.951492" elapsed="0.010285"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.965592" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.962078" elapsed="0.003581"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.950588" elapsed="0.015163"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.944021" elapsed="0.021815"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.930503" elapsed="0.035393"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.966654" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.966276" elapsed="0.000444"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:04.972064" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:04.972351" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:04.971858" elapsed="0.000543"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:04.973395" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:04.972633" elapsed="0.000806"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.974091" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.973671" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.974792" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.974387" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:04.975482" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:04.975055" elapsed="0.000466"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:04.976920" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:04.975743" elapsed="0.001222"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.977722" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.977222" elapsed="0.000561"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.978495" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.978014" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.979267" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.978782" elapsed="0.000549"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.980007" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.979557" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.980777" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.980320" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.981722" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:04.981074" elapsed="0.000712"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:04.971343" elapsed="0.010524"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:04.989299" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:04.988992" elapsed="0.000373"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:04.999665" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1421', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;\n    &lt;id&gt;231&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;108&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;108&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:04.999834" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:04.999967" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:04.989495" elapsed="0.010500"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.003662" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.000219" elapsed="0.003582"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:04.988545" elapsed="0.015393"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:04.982034" elapsed="0.022027"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-05-25T00:36:04.966058" elapsed="0.038095"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.005383" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.004724" elapsed="0.000761"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.013341" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.013662" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.012952" elapsed="0.000776"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.014476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.013997" elapsed="0.000508"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.014946" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.014659" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.015412" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.015124" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.015865" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.015591" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.016840" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.016044" elapsed="0.000827"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.017400" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.017034" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.017913" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.017599" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.018440" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.018110" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.018943" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.018639" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.019468" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.019141" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.019975" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.019666" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.012164" elapsed="0.007909"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.027780" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.027526" elapsed="0.000369"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.036502" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1421', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;\n    &lt;id&gt;232&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;109&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;109&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.036630" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.036784" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.028028" elapsed="0.008784"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.040704" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.037168" elapsed="0.003601"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.026984" elapsed="0.013881"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.020225" elapsed="0.020724"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.004428" elapsed="0.036582"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.041838" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.041468" elapsed="0.000436"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.047094" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.047347" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.046890" elapsed="0.000498"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.048199" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.047603" elapsed="0.000657"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.048867" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.048477" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.049555" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.049147" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.050179" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.049804" elapsed="0.000411"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.051432" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.050445" elapsed="0.001030"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.052157" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.051701" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.052892" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.052458" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.053674" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.053212" elapsed="0.000696"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.054401" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.054069" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.054913" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.054602" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.055439" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.055112" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.046358" elapsed="0.009178"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.062846" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.062594" elapsed="0.000313"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.073581" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1146', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;\n    &lt;id&gt;233&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;110&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;110&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.073704" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.073860" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.063037" elapsed="0.010863"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.079510" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.074398" elapsed="0.005212"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.062139" elapsed="0.017605"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.055687" elapsed="0.024181"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.041266" elapsed="0.038691"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.081065" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.080515" elapsed="0.000697"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.087389" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.087620" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.087227" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.088274" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.087807" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.088746" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.088462" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.089221" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.088928" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.089695" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.089420" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.090661" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.089875" elapsed="0.000818"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.091184" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.090854" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.091709" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.091398" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.092222" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.091906" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.092736" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.092433" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.093293" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.092936" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.093812" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.093497" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.086864" elapsed="0.007051"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.101261" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.100976" elapsed="0.000352"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.110338" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1429', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;\n    &lt;id&gt;236&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;113&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;113&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.110565" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.110788" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.101458" elapsed="0.009389"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.114542" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.111271" elapsed="0.003339"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.100536" elapsed="0.014164"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.094069" elapsed="0.020711"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.080193" elapsed="0.034647"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.115567" level="INFO">f156.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.115183" elapsed="0.000448"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.120590" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.120806" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.120390" elapsed="0.000456"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.121728" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.121063" elapsed="0.000706"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.122411" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.121989" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.123052" level="INFO">${flow_id} = 279</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.122666" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.123712" level="INFO">${flow_priority} = 156</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.123325" elapsed="0.000425"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.124992" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.123965" elapsed="0.001072"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.125811" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.125342" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.126367" level="INFO">${flow_id} = 279</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.126037" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.126887" level="INFO">${flow_priority} = 156</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.126567" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.127411" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.127085" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.127928" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.127611" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.128463" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.128128" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.119887" elapsed="0.008677"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.136112" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;279&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
      &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;156&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;
    &lt;priority&gt;156&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.135860" elapsed="0.000361"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.145474" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1230', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;279&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;vlan-match&gt;\n            &lt;vlan-id&gt;\n                &lt;vlan-id&gt;78&lt;/vlan-id&gt;\n                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;\n            &lt;/vlan-id&gt;\n            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;\n      &lt;/vlan-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;156&lt;/cookie&gt;\n    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;\n    &lt;priority&gt;156&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.145592" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.145784" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.136370" elapsed="0.009454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.151726" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.146454" elapsed="0.005335"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.135411" elapsed="0.016465"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.128717" elapsed="0.023231"/>
</kw>
<var name="${flowfile}">f156.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.114993" elapsed="0.037009"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.152707" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.152365" elapsed="0.000403"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.157736" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.157973" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.157537" elapsed="0.000480"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.159001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcf40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.158259" elapsed="0.000785"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.159730" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.159304" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.160452" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.160003" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.161166" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.160729" elapsed="0.000477"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.162534" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.161448" elapsed="0.001130"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.163286" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.162803" elapsed="0.000545"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.163985" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.163556" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.164708" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.164271" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.165512" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.164975" elapsed="0.000601"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.166202" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.165791" elapsed="0.000480"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.166754" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcf40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.166433" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.156992" elapsed="0.009867"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.177098" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.176728" elapsed="0.000470"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.194738" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1225', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;\n    &lt;id&gt;324&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;201&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;201&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.194904" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.195137" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.177406" elapsed="0.017782"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.199876" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.195631" elapsed="0.004317"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.176022" elapsed="0.024020"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.167015" elapsed="0.033109"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.152158" elapsed="0.048025"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.200935" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.200570" elapsed="0.000428"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.206022" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.206363" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.205816" elapsed="0.000593"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.207294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9440&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.206633" elapsed="0.000705"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.207963" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.207559" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.208632" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.208216" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.209363" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.208891" elapsed="0.000510"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.210436" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.209617" elapsed="0.000850"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.210967" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.210630" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.211502" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.211165" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.212016" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.211698" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.212532" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.212210" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.213066" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.212730" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.213597" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9440&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.213284" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.205312" elapsed="0.008385"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.220973" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.220722" elapsed="0.000344"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.230494" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1225', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;\n    &lt;id&gt;325&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;202&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;202&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.230878" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.231286" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.221198" elapsed="0.010188"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.236730" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.232011" elapsed="0.004783"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.220280" elapsed="0.016607"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.213847" elapsed="0.023118"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.200371" elapsed="0.036652"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.237792" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.237435" elapsed="0.000420"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.242569" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.242739" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.242422" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.243386" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbd80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.242922" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.243857" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.243571" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.244336" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.244038" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.244794" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.244518" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.245753" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.244979" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.246297" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.245949" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.246808" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.246498" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.247329" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.247002" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.247826" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.247524" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.248347" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.248026" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.248849" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbd80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.248543" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.242047" elapsed="0.006898"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.256312" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.256046" elapsed="0.000374"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.267327" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1226', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;\n    &lt;id&gt;326&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;203&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;203&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.267497" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.267730" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.256551" elapsed="0.011233"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.271418" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.268165" elapsed="0.003316"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.255604" elapsed="0.015967"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.249114" elapsed="0.022534"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.237224" elapsed="0.034481"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.272425" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.272050" elapsed="0.000438"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.277487" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.277710" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.277284" elapsed="0.000467"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.278607" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cab60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.277966" elapsed="0.000683"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.279282" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.278865" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.279915" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.279535" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.280572" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.280167" elapsed="0.000442"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.281839" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.280822" elapsed="0.001060"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.282590" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.282108" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.283324" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.282866" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.284042" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.283598" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.284832" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.284333" elapsed="0.000564"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.285617" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.285156" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.286211" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cab60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.285898" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.276730" elapsed="0.009597"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.293631" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.293380" elapsed="0.000314"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.304149" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1226', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;\n    &lt;id&gt;327&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;204&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;204&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;\n        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.304295" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.304488" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.293822" elapsed="0.010698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.308989" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.304789" elapsed="0.004295"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.292897" elapsed="0.016278"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.286481" elapsed="0.022800"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.271866" elapsed="0.037475"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.310037" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.309683" elapsed="0.000417"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.317720" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.318024" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.317383" elapsed="0.000671"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.318678" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d76f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.318209" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.319145" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.318862" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.319610" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.319338" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.320054" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.319785" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.321045" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.320229" elapsed="0.000848"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.321586" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.321254" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.322089" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.321781" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.322611" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.322296" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.323104" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.322803" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.323622" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.323314" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.324130" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d76f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.323819" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.316435" elapsed="0.007792"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.331534" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.331284" elapsed="0.000315"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.342508" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1430', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;328&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;\n        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;205&lt;/cookie&gt;\n    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;\n    &lt;priority&gt;205&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.342654" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.342774" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.331726" elapsed="0.011074"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.345296" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.343011" elapsed="0.002330"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.330830" elapsed="0.014574"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.324394" elapsed="0.021066"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.309500" elapsed="0.036001"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.346003" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.345747" elapsed="0.000300"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.349540" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.349698" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.349397" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.350337" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.349878" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.350800" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.350520" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.351263" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.350978" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.351711" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.351441" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.352681" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.351885" elapsed="0.000826"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.353250" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.352873" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.353758" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.353448" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.354280" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.353951" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.354777" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.354475" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.355301" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.354978" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.355806" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.355498" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.349032" elapsed="0.006869"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.363449" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.363182" elapsed="0.000381"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.373729" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1428', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;329&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n            &lt;ethernet-destination&gt;\n                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;\n            &lt;/ethernet-destination&gt;\n            &lt;ethernet-source&gt;\n                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;\n            &lt;/ethernet-source&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;\n        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;\n        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;206&lt;/cookie&gt;\n    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;\n    &lt;priority&gt;206&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.373812" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.373935" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.363693" elapsed="0.010270"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.376595" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.374187" elapsed="0.002454"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.362741" elapsed="0.013966"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.356049" elapsed="0.020714"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.345616" elapsed="0.031187"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.377702" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.377410" elapsed="0.000338"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.381291" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.381462" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.381131" elapsed="0.000360"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.382094" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d67f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.381644" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.382577" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.382292" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.383023" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.382753" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.383487" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.383199" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.384446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.383663" elapsed="0.000815"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.384973" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.384644" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.385532" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.385203" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.386042" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.385728" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.386622" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.386315" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.387136" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.386821" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.387661" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d67f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.387350" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.380750" elapsed="0.007008"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.395122" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.394871" elapsed="0.000314"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.410198" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1261', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;\n    &lt;id&gt;332&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;209&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;209&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;\n        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;\n        &lt;metadata&gt;\n            &lt;metadata&gt;12345&lt;/metadata&gt;\n        &lt;/metadata&gt;\n        &lt;ip-match&gt;\n            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;\n        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.410328" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.410450" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.395329" elapsed="0.015148"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.413030" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.410692" elapsed="0.002385"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.394429" elapsed="0.018711"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.387911" elapsed="0.025285"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.376930" elapsed="0.036321"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.413763" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.413513" elapsed="0.000295"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.417399" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.417555" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.417253" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.418168" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.417737" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.418653" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.418368" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.419108" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.418833" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.419579" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.419306" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.420453" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.419758" elapsed="0.000726"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.420996" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.420646" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.421524" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.421195" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.422032" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.421719" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.422545" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.422225" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.423048" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.422743" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.423568" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.423261" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.416804" elapsed="0.006859"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.431003" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.430752" elapsed="0.000310"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.442196" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1026', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;\n    &lt;id&gt;337&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;cookie&gt;214&lt;/cookie&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;priority&gt;214&lt;/priority&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;\n        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;\n\t\t&lt;ip-match&gt;\n            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;\n            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;\n\t    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;\n        &lt;/ip-match&gt;\n    &lt;/match&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.442349" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.442469" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.431189" elapsed="0.011307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.445012" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.442694" elapsed="0.002365"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.430316" elapsed="0.014806"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.423814" elapsed="0.021364"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.413381" elapsed="0.031837"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.445736" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.445483" elapsed="0.000299"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.449284" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.449443" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.449125" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.450036" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a5c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.449624" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.450517" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.450217" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.450965" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.450695" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.451430" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.451142" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.452177" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.451607" elapsed="0.000601"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.452714" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.452387" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.453282" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.452913" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.453791" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.453479" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.454299" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.453983" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.454804" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.454499" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.455322" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a5c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.455000" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.448759" elapsed="0.006660"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.462898" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.462644" elapsed="0.000369"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.475073" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '804', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n            &lt;go-to-table&gt;\n                &lt;table_id&gt;3&lt;/table_id&gt;\n            &lt;/go-to-table&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;341&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;tunnel&gt;\n            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;\n            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;\n        &lt;/tunnel&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;218&lt;/cookie&gt;\n    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;\n    &lt;priority&gt;218&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.475141" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.475274" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.463146" elapsed="0.012156"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.477753" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.475485" elapsed="0.002312"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.462189" elapsed="0.015669"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.455569" elapsed="0.022345"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.445349" elapsed="0.032611"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.478479" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.478205" elapsed="0.000319"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.482026" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.482183" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.481877" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.482803" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.482381" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.483282" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.482985" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.483733" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.483461" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.484180" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.483909" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.485076" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.484373" elapsed="0.000734"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.485614" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.485287" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.486126" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.485814" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.486659" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.486339" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.487156" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.486855" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.487731" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.487419" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.488259" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.487935" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.481534" elapsed="0.006824"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.495726" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.495474" elapsed="0.000311"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.507329" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '937', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n        \t&lt;order&gt;0&lt;/order&gt;\n\t\t&lt;clear-actions&gt;\n\t\t&lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n\t\t&lt;/clear-actions&gt;\n\t&lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;342&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;vlan-match&gt;\n            &lt;vlan-id&gt;\n                &lt;vlan-id&gt;10&lt;/vlan-id&gt;\n                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;\n            &lt;/vlan-id&gt;\n            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;\n        &lt;/vlan-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;219&lt;/cookie&gt;\n    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;\n    &lt;priority&gt;219&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.507395" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.507496" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.495914" elapsed="0.011608"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.509959" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.507700" elapsed="0.002303"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.495019" elapsed="0.015047"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.488509" elapsed="0.021613"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.478075" elapsed="0.032088"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.510674" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.510422" elapsed="0.000298"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.514305" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.514451" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.514149" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.515036" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.514632" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.515522" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.515221" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.516032" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.515748" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.516510" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.516215" elapsed="0.000322"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.517345" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.516691" elapsed="0.000686"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.517867" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.517540" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.518395" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.518067" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.518912" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.518593" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.519435" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.519111" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.519946" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.519636" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.520478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.520147" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.513807" elapsed="0.006770"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.528063" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.527812" elapsed="0.000311"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.538258" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '941', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n            &lt;write-metadata&gt;\n                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;\n                &lt;metadata&gt;10&lt;/metadata&gt;\n            &lt;/write-metadata&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;343&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;220&lt;/cookie&gt;\n    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;\n    &lt;priority&gt;220&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.538325" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.538426" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.528268" elapsed="0.010184"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.540818" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.538627" elapsed="0.002235"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.527370" elapsed="0.013636"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.520730" elapsed="0.020333"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.510289" elapsed="0.030814"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.541621" level="INFO">f221.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.541369" elapsed="0.000296"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.545188" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.545356" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.545045" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.545960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.545538" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.546443" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.546143" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.546891" level="INFO">${flow_id} = 344</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.546621" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.547356" level="INFO">${flow_priority} = 221</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.547067" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.548202" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.547533" elapsed="0.000714"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.548732" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.548409" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.549284" level="INFO">${flow_id} = 344</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.548958" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.549792" level="INFO">${flow_priority} = 221</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.549479" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.550302" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.549985" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.550804" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.550500" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.551326" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.551005" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.544667" elapsed="0.006757"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.558787" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;344&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;221&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;
    &lt;priority&gt;221&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.558535" elapsed="0.000312"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.568085" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '981', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;strict&gt;false&lt;/strict&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;id&gt;344&lt;/id&gt;\n    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;\n    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;\n    &lt;installHw&gt;false&lt;/installHw&gt;\n    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;\n    &lt;match&gt;\n        &lt;vlan-match&gt;\n            &lt;vlan-id&gt;\n                &lt;vlan-id&gt;10&lt;/vlan-id&gt;\n                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;\n            &lt;/vlan-id&gt;\n            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;\n        &lt;/vlan-match&gt;\n    &lt;/match&gt;\n    &lt;cookie&gt;221&lt;/cookie&gt;\n    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;\n    &lt;priority&gt;221&lt;/priority&gt;\n    &lt;barrier&gt;false&lt;/barrier&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.568156" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.568294" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.558975" elapsed="0.009348"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.570992" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.568521" elapsed="0.002517"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.558078" elapsed="0.013185"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.551576" elapsed="0.019746"/>
</kw>
<var name="${flowfile}">f221.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.541215" elapsed="0.030149"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.571869" level="INFO">f222.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.571616" elapsed="0.000299"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.575430" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.575597" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.575282" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.576188" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.575779" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.576666" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.576386" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.577149" level="INFO">${flow_id} = 345</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.576843" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.577614" level="INFO">${flow_priority} = 222</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.577343" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.578349" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.577790" elapsed="0.000591"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.578869" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.578542" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.579398" level="INFO">${flow_id} = 345</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.579072" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.579907" level="INFO">${flow_priority} = 222</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.579594" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.580417" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.580101" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.580992" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.580613" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.581520" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.581193" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.574917" elapsed="0.006699"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.589140" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;id&gt;345&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.588705" elapsed="0.000509"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.599927" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '713', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;priority&gt;222&lt;/priority&gt;\n    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;\n    &lt;/match&gt;\n    &lt;id&gt;345&lt;/id&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                   &lt;order&gt;0&lt;/order&gt;\n                   &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.600001" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.600123" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.589384" elapsed="0.010766"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.602828" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.600410" elapsed="0.002465"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.588255" elapsed="0.014688"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.581767" elapsed="0.021235"/>
</kw>
<var name="${flowfile}">f222.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.571479" elapsed="0.031565"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.603589" level="INFO">f223.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.603330" elapsed="0.000304"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.607184" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.607384" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.607036" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.607996" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7b100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.607569" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.608521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.608181" elapsed="0.000366"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.609010" level="INFO">${flow_id} = 346</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.608701" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.609482" level="INFO">${flow_priority} = 223</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.609189" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.610339" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.609736" elapsed="0.000634"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.610875" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.610536" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.611400" level="INFO">${flow_id} = 346</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.611077" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.611908" level="INFO">${flow_priority} = 223</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.611595" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.612422" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.612105" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.612941" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.612620" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.613467" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7b100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.613140" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.606673" elapsed="0.006891"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.620937" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;
        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;346&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.620650" elapsed="0.000347"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.633438" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '836', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;priority&gt;223&lt;/priority&gt;\n    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;2048&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;\n        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;\n    &lt;/match&gt;\n    &lt;id&gt;346&lt;/id&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                   &lt;order&gt;0&lt;/order&gt;\n                   &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.633528" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.633664" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.621127" elapsed="0.012565"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.636337" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.633935" elapsed="0.002446"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.620192" elapsed="0.016255"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.613718" elapsed="0.022788"/>
</kw>
<var name="${flowfile}">f223.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.603170" elapsed="0.033377"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.637111" level="INFO">f224.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.636806" elapsed="0.000349"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.640761" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.640967" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.640614" elapsed="0.000383"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.641587" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385b20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.641152" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.642055" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.641770" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.642525" level="INFO">${flow_id} = 347</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.642249" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.642976" level="INFO">${flow_priority} = 224</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.642706" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.643723" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.643153" elapsed="0.000601"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.644258" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.643916" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.644763" level="INFO">${flow_id} = 347</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.644456" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.645323" level="INFO">${flow_priority} = 224</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.644994" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.645819" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.645517" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.646342" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.646019" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.646848" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385b20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.646541" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.640250" elapsed="0.006696"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.654254" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;
        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;347&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.653988" elapsed="0.000326"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.665705" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '896', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;priority&gt;224&lt;/priority&gt;\n    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;\n        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;\n    &lt;/match&gt;\n    &lt;id&gt;347&lt;/id&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                   &lt;order&gt;0&lt;/order&gt;\n                   &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.665884" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.666045" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.654442" elapsed="0.011633"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.668627" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.666314" elapsed="0.002358"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.653549" elapsed="0.015189"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.647097" elapsed="0.021698"/>
</kw>
<var name="${flowfile}">f224.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.636672" elapsed="0.032164"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.669401" level="INFO">f225.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.669129" elapsed="0.000317"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.673103" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.673288" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.672955" elapsed="0.000364"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.673878" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354810&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.673474" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.674356" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.674061" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.674802" level="INFO">${flow_id} = 348</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.674534" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.675261" level="INFO">${flow_priority} = 225</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.674977" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.676016" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.675437" elapsed="0.000610"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.676552" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.676207" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.677101" level="INFO">${flow_id} = 348</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.676746" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.677625" level="INFO">${flow_priority} = 225</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.677310" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.678116" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.677816" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.678690" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.678385" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.679188" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354810&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.678884" elapsed="0.000346"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.672563" elapsed="0.006738"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.686619" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;
        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;348&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.686369" elapsed="0.000347"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.696709" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '876', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;priority&gt;225&lt;/priority&gt;\n    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;\n    &lt;match&gt;\n        &lt;ethernet-match&gt;\n            &lt;ethernet-type&gt;\n                &lt;type&gt;34525&lt;/type&gt;\n            &lt;/ethernet-type&gt;\n        &lt;/ethernet-match&gt;\n        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;\n        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;\n    &lt;/match&gt;\n    &lt;id&gt;348&lt;/id&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                   &lt;order&gt;0&lt;/order&gt;\n                   &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.696831" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.697076" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.686847" elapsed="0.010260"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.702019" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.697400" elapsed="0.004688"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.685918" elapsed="0.016268"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.679452" elapsed="0.022840"/>
</kw>
<var name="${flowfile}">f225.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.668995" elapsed="0.033359"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.703114" level="INFO">f550.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.702736" elapsed="0.000443"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:05.708443" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:05.708717" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:05.708215" elapsed="0.000546"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:05.709681" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c87c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:05.709050" elapsed="0.000673"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.710217" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.709936" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.710682" level="INFO">${flow_id} = 550</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.710412" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:05.711130" level="INFO">${flow_priority} = 550</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:05.710857" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:05.712080" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:05.711388" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.712638" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.712297" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.713182" level="INFO">${flow_id} = 550</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.712838" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.713707" level="INFO">${flow_priority} = 550</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.713394" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.714197" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.713898" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.714778" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.714470" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.715301" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c87c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:05.714979" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:05.707698" elapsed="0.007703"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via Restconf" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.722767" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;
            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;
            &lt;extension&gt;
                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;
                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;
                &lt;/nxm-nx-tun-ipv4-src&gt;
            &lt;/extension&gt;
        &lt;/extension-list&gt;
    &lt;/match&gt;
    &lt;id&gt;550&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.722513" elapsed="0.000315"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:05.737903" level="INFO">PUT Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '1086', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=b'&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;\n    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;\n    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;\n    &lt;priority&gt;550&lt;/priority&gt;\n    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;\n    &lt;match&gt;\n        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;\n            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;\n            &lt;extension&gt;\n                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;\n                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;\n                &lt;/nxm-nx-tun-ipv4-src&gt;\n            &lt;/extension&gt;\n        &lt;/extension-list&gt;\n    &lt;/match&gt;\n    &lt;id&gt;550&lt;/id&gt;\n    &lt;table_id&gt;2&lt;/table_id&gt;\n    &lt;instructions&gt;\n        &lt;instruction&gt;\n            &lt;order&gt;0&lt;/order&gt;\n            &lt;apply-actions&gt;\n                &lt;action&gt;\n                    &lt;order&gt;0&lt;/order&gt;\n                    &lt;drop-action/&gt;\n                &lt;/action&gt;\n            &lt;/apply-actions&gt;\n        &lt;/instruction&gt;\n    &lt;/instructions&gt;\n&lt;/flow&gt;' 
 </msg>
<msg time="2026-05-25T00:36:05.738035" level="INFO">PUT Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:05.738227" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>data=${flow_body}</arg>
<arg>expected_status=204</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:05.722962" elapsed="0.015324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:05.742086" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:05.738651" elapsed="0.003512"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow configuration by given flow details (${node_id}, 2, ${flow_body}) using PUT method</doc>
<status status="PASS" start="2026-05-25T00:36:05.722042" elapsed="0.020253"/>
</kw>
<arg>Update Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:05.715553" elapsed="0.026837"/>
</kw>
<var name="${flowfile}">f550.xml</var>
<status status="PASS" start="2026-05-25T00:36:05.702524" elapsed="0.039933"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-05-25T00:36:03.652393" elapsed="2.090127"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.743690" level="INFO">Slept 3 seconds.</msg>
<arg>${flow_update_time}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="PASS" start="2026-05-25T00:36:05.742792" elapsed="3.001340"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:36:08.748096" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:36:08.744809" elapsed="0.003452"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:36:08.888920" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=15.250s, table=0, n_packets=13, n_bytes=1046, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x0, duration=3.012s, table=2, n_packets=0, n_bytes=0, priority=550,tun_src=192.168.0.10 actions=drop
 cookie=0x0, duration=3.051s, table=2, n_packets=0, n_bytes=0, priority=225,ipv6,ipv6_src=2001:2001:2001:2001:0:2001:4000:0/ffff:ffff:ffff:ffff:0:ffff:f000:0 actions=drop
 cookie=0x0, duration=3.086s, table=2, n_packets=0, n_bytes=0, priority=224,ipv6,ipv6_dst=2001:2001:2001:2001:2001:2001:4000:7000/ffff:ffff:ffff:ffff:ffff:ffff:f000:f000 actions=drop
 cookie=0x0, duration=3.117s, table=2, n_packets=0, n_bytes=0, priority=223,ip,nw_dst=7.0.17.0/255.0.241.0 actions=drop
 cookie=0x0, duration=3.150s, table=2, n_packets=0, n_bytes=0, priority=222,ip,nw_dst=2.2.0.0/16 actions=drop
 cookie=0xdb, duration=3.243s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xdd, duration=3.182s, table=2, n_packets=0, n_bytes=0, priority=221,dl_vlan=10,dl_vlan_pcp=3 actions=drop
 cookie=0x1, duration=5.063s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=drop
 cookie=0x1f, duration=4.190s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=TABLE
 cookie=0x24, duration=4.154s, table=2, n_packets=0, n_bytes=0, priority=36,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x26, duration=4.116s, table=2, n_packets=0, n_bytes=0, priority=38,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0xdc, duration=3.213s, table=2, n_packets=0, n_bytes=0, priority=220,ip,nw_dst=10.0.0.0/24 actions=write_metadata:0xa/0xc
 cookie=0xda, duration=3.275s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=3.308s, table=2, n_packets=0, n_bytes=0, priority=214,ip,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=240,nw_ecn=1 actions=drop
 cookie=0x15, duration=4.389s, table=2, n_packets=0, n_bytes=0, priority=21,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80::2acf:e9ff:fe21:6431,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x16, duration=4.349s, table=2, n_packets=0, n_bytes=0, priority=22,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x65, duration=4.002s, table=2, n_packets=0, n_bytes=0, priority=101,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x68, duration=3.892s, table=2, n_packets=0, n_bytes=0, priority=104,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xd1, duration=3.341s, table=2, n_packets=0, n_bytes=0, priority=209,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xa, duration=4.712s, table=2, n_packets=0, n_bytes=0, priority=10,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=drop
 cookie=0xb, duration=4.680s, table=2, n_packets=0, n_bytes=0, priority=11,icmp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=108,nw_ecn=3,icmp_type=6,icmp_code=3 actions=drop
 cookie=0xcd, duration=3.409s, table=2, n_packets=0, n_bytes=0, priority=205,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=drop
 cookie=0xce, duration=3.377s, table=2, n_packets=0, n_bytes=0, priority=206,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=drop
 cookie=0xc9, duration=3.554s, table=2, n_packets=0, n_bytes=0, priority=201,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xca, duration=3.520s, table=2, n_packets=0, n_bytes=0, priority=202,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xcb, duration=3.484s, table=2, n_packets=0, n_bytes=0, priority=203,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xcc, duration=3.447s, table=2, n_packets=0, n_bytes=0, priority=204,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x10, duration=4.575s, table=2, n_packets=0, n_bytes=0, priority=16,ip,dl_vlan=78,dl_vlan_pcp=3,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=drop
 cookie=0x9c, duration=3.606s, table=2, n_packets=0, n_bytes=0, priority=156,ip,dl_vlan=78,dl_vlan_pcp=3,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=drop
 cookie=0x6b, duration=3.789s, table=2, n_packets=0, n_bytes=0, priority=107,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x6c, duration=3.751s, table=2, n_packets=0, n_bytes=0, priority=108,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x6d, duration=3.715s, table=2, n_packets=0, n_bytes=0, priority=109,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x71, duration=3.641s, table=2, n_packets=0, n_bytes=0, priority=113,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x6e, duration=3.677s, table=2, n_packets=0, n_bytes=0, priority=110,tcp6,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x6a, duration=3.823s, table=2, n_packets=0, n_bytes=0, priority=106,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a987:6000:0/100,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=drop
 cookie=0x69, duration=3.854s, table=2, n_packets=0, n_bytes=0, priority=105,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a000::/84,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=drop
 cookie=0x66, duration=3.966s, table=2, n_packets=0, n_bytes=0, priority=102,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x67, duration=3.929s, table=2, n_packets=0, n_bytes=0, priority=103,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x2d, duration=4.042s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=TABLE
 cookie=0x2b, duration=4.077s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=drop
 cookie=0x17, duration=4.307s, table=2, n_packets=0, n_bytes=0, priority=23,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x19, duration=4.229s, table=2, n_packets=0, n_bytes=0, priority=25,icmp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,icmp_type=6,icmp_code=3 actions=drop
 cookie=0x18, duration=4.267s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=drop
 cookie=0x14, duration=4.426s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=drop
 cookie=0x13, duration=4.465s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=drop
 cookie=0x12, duration=4.501s, table=2, n_packets=0, n_bytes=0, priority=18,ipv6,ipv6_src=fe80::2acf:e9ff:fe21:6431,ipv6_dst=aabb:1234:2acf:e9ff::/64 actions=drop
 cookie=0x11, duration=4.541s, table=2, n_packets=0, n_bytes=0, priority=17,mpls,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,mpls_label=567,mpls_tc=3,mpls_bos=1 actions=drop
 cookie=0xf, duration=4.609s, table=2, n_packets=0, n_bytes=0, priority=15,mpls,dl_vlan=78,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=drop
 cookie=0xe, duration=4.647s, table=2, n_packets=0, n_bytes=0, priority=14,arp,dl_src=00:00:fc:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=192.168.4.1,arp_tpa=10.21.22.23,arp_op=1,arp_sha=12:34:56:78:98:ab,arp_tha=fe:dc:ba:98:76:54 actions=drop
 cookie=0x9, duration=4.747s, table=2, n_packets=0, n_bytes=0, priority=9,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.1.0.0/16,nw_dst=172.168.5.0/24,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x8, duration=4.788s, table=2, n_packets=0, n_bytes=0, priority=8,tcp,in_port=0,dl_src=00:00:00:11:23:00/ff:ff:ff:ff:ff:00,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x7, duration=4.828s, table=2, n_packets=0, n_bytes=0, priority=7,ip,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:ff:ff:ff:aa,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=60,nw_ecn=1 actions=drop
 cookie=0x6, duration=4.865s, table=2, n_packets=0, n_bytes=0, priority=6,ip,dl_src=00:00:00:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=40.4.0.0/16 actions=drop
 cookie=0x5, duration=4.905s, table=2, n_packets=0, n_bytes=0, priority=5,ip,in_port=0,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16 actions=drop
 cookie=0x4, duration=4.945s, table=2, n_packets=0, n_bytes=0, priority=4,mpls,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff actions=drop
 cookie=0x3, duration=4.983s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=TABLE
 cookie=0x2, duration=5.024s, table=2, n_packets=0, n_bytes=0, priority=2,ip,nw_src=10.0.0.1 actions=TABLE
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:36:08.748637" elapsed="0.140595"/>
</kw>
<doc>Update all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-05-25T00:36:03.652002" elapsed="5.237407"/>
</test>
<test id="s1-s3-s1-t60" name="Test Is Flow 1 Updated" line="183">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:08.900870" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:08.901055" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:08.900703" elapsed="0.000382"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:08.901730" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3844a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:08.901263" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:08.902208" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:08.901918" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:08.902685" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:08.902409" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:08.903154" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:08.902872" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:08.904025" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:08.903347" elapsed="0.000711"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.904732" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:08.904383" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.905286" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:08.904930" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.905818" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:08.905484" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.906366" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:08.906014" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.906903" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:08.906578" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.907439" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3844a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:08.907101" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:08.900344" elapsed="0.007196"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.908137" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:08.907693" elapsed="0.000475"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.908590" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:08.908341" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.916574" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:08.916228" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:08.923775" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:08.924333" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '554'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:08.924446" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:08.916775" elapsed="0.007697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.924910" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:08.924649" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.927106" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;124&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:08.925106" elapsed="0.002056"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:08.929685" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:08.927257" elapsed="0.002504"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:08.927219" elapsed="0.002575"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:08.934010" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:08.934093" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:08.929993" elapsed="0.004143"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:08.936807" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:08.934289" elapsed="0.002599"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:08.934254" elapsed="0.002670"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:08.936971" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:08.937275" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:08.937339" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:08.915898" elapsed="0.021474"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:08.940358" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:08.938153" elapsed="0.002252"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:08.938128" elapsed="0.002312"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.940995" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:08.940589" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.941554" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:08.941183" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:08.941632" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:08.941813" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:08.937683" elapsed="0.004169"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:08.942013" elapsed="0.000414"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:08.915275" elapsed="0.027216"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.950459" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:08.950093" elapsed="0.000394"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:08.965392" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:08.969630" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:08.970294" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:08.950620" elapsed="0.019738"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.971347" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:08.970730" elapsed="0.000723"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:08.975460" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:08.971850" elapsed="0.004929"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:08.979457" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:08.976886" elapsed="0.002640"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:08.976857" elapsed="0.002701"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.006423" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.006472" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:08.979780" elapsed="0.026715"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.008374" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.006577" elapsed="0.001855"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.006558" elapsed="0.001900"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.008493" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.008695" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.008741" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:08.949700" elapsed="0.059065"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.010986" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.009364" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.009345" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.011644" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.011205" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.012259" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.011879" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.012338" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.012521" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.009005" elapsed="0.003542"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.012707" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:08.949034" elapsed="0.064305"/>
</kw>
<arg>f1.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:08.896938" elapsed="0.116463"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:08.889735" elapsed="0.123790"/>
</test>
<test id="s1-s3-s1-t61" name="Test Is Flow 2 Updated" line="185">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.026961" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.027151" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.026790" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.027876" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140546930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.027399" elapsed="0.000518"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.028417" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.028079" elapsed="0.000368"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.028915" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.028606" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.029428" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.029112" elapsed="0.000344"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.030224" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.029614" elapsed="0.000657"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.030799" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.030436" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.031400" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.031046" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.032000" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.031601" elapsed="0.000444"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.032573" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.032210" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.033111" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.032779" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.033685" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140546930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.033344" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.026395" elapsed="0.007392"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.034361" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.033941" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.034800" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.034548" elapsed="0.000313"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.042727" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.042419" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.049273" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.049780" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '640'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.049897" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.042885" elapsed="0.007038"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.050358" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.050085" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.052573" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;125&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.050553" elapsed="0.002110"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.054512" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.052737" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.052716" elapsed="0.001870"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.057632" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.057679" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.054727" elapsed="0.002976"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.059501" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.057778" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.057759" elapsed="0.001823"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.059615" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:09.059849" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.059894" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.042083" elapsed="0.017833"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.062075" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.060480" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.060462" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.062714" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.062312" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.063270" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.062903" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.063348" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.063528" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.060128" elapsed="0.003426"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.063738" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.041516" elapsed="0.022685"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.072802" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.072492" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.086591" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.087009" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.087336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.072968" elapsed="0.014396"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.087821" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.087532" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.090320" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.088017" elapsed="0.003210"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.093606" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.091317" elapsed="0.002360"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.091296" elapsed="0.002413"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.120068" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.120117" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.093908" elapsed="0.026233"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.121993" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.120222" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.120203" elapsed="0.001874"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.122111" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:09.122328" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.122374" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.071380" elapsed="0.051017"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.124820" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.122963" elapsed="0.001904"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.122944" elapsed="0.001946"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.125478" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.125042" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.126038" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.125675" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.126117" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.126317" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.122621" elapsed="0.003722"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.126503" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.070747" elapsed="0.056212"/>
</kw>
<arg>f2.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.020676" elapsed="0.106341"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.013716" elapsed="0.113432"/>
</test>
<test id="s1-s3-s1-t62" name="Test Is Flow 3 Updated" line="187">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.138192" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.138363" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.138047" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.138953" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd289f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.138550" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.139444" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.139136" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.139945" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.139624" elapsed="0.000349"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.140433" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.140140" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.141355" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.140612" elapsed="0.000775"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.141888" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.141548" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.142479" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.142131" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.143007" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.142679" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.143544" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.143208" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.144100" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.143776" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.144642" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd289f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.144317" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.137712" elapsed="0.007026"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.145296" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.144889" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.145728" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.145482" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.153628" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.153312" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.160005" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.160745" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '625'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.160895" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.153817" elapsed="0.007114"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.161554" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.161162" elapsed="0.000457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.164740" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;126&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.161822" elapsed="0.003048"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.167520" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.164974" elapsed="0.002619"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.164946" elapsed="0.002680"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.171705" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.171775" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.167852" elapsed="0.003956"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.176067" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.171914" elapsed="0.004212"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.171887" elapsed="0.004266"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.176188" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:09.176409" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.176455" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.152973" elapsed="0.023506"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.178685" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.177036" elapsed="0.001696"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.177018" elapsed="0.001738"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.179332" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.178906" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.179918" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.179529" elapsed="0.000416"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.179996" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.180179" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.176696" elapsed="0.003509"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.180384" elapsed="0.000400"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.152401" elapsed="0.028449"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.188927" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.188623" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.203787" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.204737" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.205409" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.189085" elapsed="0.016384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.206447" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.205838" elapsed="0.000714"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.212085" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.206874" elapsed="0.006549"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.216024" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.213527" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.213499" elapsed="0.002629"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.243643" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.243695" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.216350" elapsed="0.027368"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.245592" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.243802" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.243782" elapsed="0.001894"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.245710" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:09.245911" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.245954" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.188226" elapsed="0.057751"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.248190" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.246562" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.246544" elapsed="0.001732"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.248848" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.248428" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.249420" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.249044" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.249496" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:09.249679" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.246206" elapsed="0.003499"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.249863" elapsed="0.000413"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.187579" elapsed="0.062762"/>
</kw>
<arg>f3.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.134396" elapsed="0.116003"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.127382" elapsed="0.123142"/>
</test>
<test id="s1-s3-s1-t63" name="Test Is Flow 4 Updated" line="189">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.261720" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.261873" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.261574" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.262496" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8630&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.262058" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.262967" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.262679" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.263450" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.263151" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.263932" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.263653" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.264763" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.264110" elapsed="0.000684"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.265298" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.264952" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.265870" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.265539" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.266415" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.266070" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.267005" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.266612" elapsed="0.000460"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.267699" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.267303" elapsed="0.000446"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.268257" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8630&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.267907" elapsed="0.000395"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.261222" elapsed="0.007138"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.268908" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.268516" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.269362" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.269099" elapsed="0.000324"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.277423" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.277098" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.283403" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.283988" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '659'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.284103" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.277582" elapsed="0.006548"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.284574" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.284314" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.286802" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;127&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.284768" elapsed="0.002125"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.289103" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.286968" elapsed="0.002207"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.286946" elapsed="0.002262"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.293297" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.293364" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.289428" elapsed="0.003969"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.295962" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.293501" elapsed="0.002540"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.293474" elapsed="0.002603"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.296124" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:09.296442" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.296505" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.276774" elapsed="0.019763"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.299581" elapsed="0.000078"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.297326" elapsed="0.002380"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.297300" elapsed="0.002458"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.300459" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.299970" elapsed="0.000516"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.301005" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.300649" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.301086" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.301285" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.296837" elapsed="0.004475"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.301468" elapsed="0.000396"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.276188" elapsed="0.025740"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.310146" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.309834" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.325027" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.325973" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.326660" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.310323" elapsed="0.016399"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.327750" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.327088" elapsed="0.000767"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.333424" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.328183" elapsed="0.007309"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.337710" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.335733" elapsed="0.002026"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.335685" elapsed="0.002097"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.364162" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.364211" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.337928" elapsed="0.026320"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.366120" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.364331" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.364311" elapsed="0.001893"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.366258" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:09.366467" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.366512" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.309447" elapsed="0.057088"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.368828" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.367094" elapsed="0.001781"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.367076" elapsed="0.001821"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.369478" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.369048" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.370027" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.369672" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.370103" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.370300" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.366755" elapsed="0.003571"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.370483" elapsed="0.000389"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.308804" elapsed="0.062131"/>
</kw>
<arg>f4.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.257865" elapsed="0.113127"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.250838" elapsed="0.120278"/>
</test>
<test id="s1-s3-s1-t64" name="Test Is Flow 5 Updated" line="191">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.382184" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.382359" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.382043" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.382959" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f90d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.382548" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.383442" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.383140" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.383957" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.383678" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.384426" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.384135" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.385283" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.384604" elapsed="0.000711"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.385816" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.385476" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.386430" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.386077" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.386968" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.386631" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.387515" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.387171" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.388091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.387762" elapsed="0.000567"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.388897" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f90d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.388486" elapsed="0.000468"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.381710" elapsed="0.007314"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.389772" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.389227" elapsed="0.000590"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.390345" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.390022" elapsed="0.000404"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.399139" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.398818" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.405673" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.406488" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '747'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.406642" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.399323" elapsed="0.007355"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.407290" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.406906" elapsed="0.000453"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.410427" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.407595" elapsed="0.002983"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.413229" elapsed="0.000043"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.410686" elapsed="0.002638"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.410655" elapsed="0.002702"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.417296" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.417346" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.413561" elapsed="0.003809"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.419177" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.417447" elapsed="0.001802"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.417428" elapsed="0.001850"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.419313" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:09.419519" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.419590" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.398486" elapsed="0.021129"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.421786" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.420170" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.420153" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.422435" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.422007" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.422989" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.422632" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.423066" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.423265" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.419831" elapsed="0.003462"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.423457" elapsed="0.000426"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.397872" elapsed="0.026079"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.432102" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.431794" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.443187" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.444342" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.445080" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.432286" elapsed="0.012858"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.446293" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.445617" elapsed="0.000794"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.450844" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.446759" elapsed="0.005640"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.455313" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.452535" elapsed="0.002870"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.452497" elapsed="0.002945"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.482576" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.482626" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.455693" elapsed="0.026957"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.484921" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.482732" elapsed="0.002250"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.482713" elapsed="0.002297"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.485045" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:09.485279" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.485325" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.431373" elapsed="0.053975"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.487685" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.485967" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.485949" elapsed="0.001807"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.488541" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.487913" elapsed="0.000658"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.489107" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.488742" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.489186" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:09.489400" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.485612" elapsed="0.003821"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.489596" elapsed="0.000407"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.430722" elapsed="0.059346"/>
</kw>
<arg>f5.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.378407" elapsed="0.111723"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.371465" elapsed="0.118809"/>
</test>
<test id="s1-s3-s1-t65" name="Test Is Flow 6 Updated" line="193">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.501626" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.501804" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.501479" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.502420" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7c40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.501989" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.502904" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.502619" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.503390" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.503088" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.503866" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.503587" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.504733" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.504065" elapsed="0.000699"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.505275" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.504923" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.505861" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.505527" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.506407" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.506060" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.506943" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.506625" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.507541" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.507146" elapsed="0.000445"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.508070" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7c40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.507746" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.501115" elapsed="0.007067"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.508750" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.508351" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.509329" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.508935" elapsed="0.000470"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.517433" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.517093" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.524433" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.525041" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '716'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.525205" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.517592" elapsed="0.007657"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.525865" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.525535" elapsed="0.000379"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.528219" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.526062" elapsed="0.002293"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.530272" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.528446" elapsed="0.001882"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.528419" elapsed="0.001934"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.534638" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.534708" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.530513" elapsed="0.004229"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.537519" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.534854" elapsed="0.002751"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.534826" elapsed="0.002816"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.537692" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:09.537995" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.538062" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.516774" elapsed="0.021323"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.541032" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.539010" elapsed="0.002073"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.538983" elapsed="0.002136"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.541700" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.541288" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.542274" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.541905" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.542351" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.542531" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.538477" elapsed="0.004080"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.542713" elapsed="0.000394"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.516177" elapsed="0.026996"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.551359" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.551024" elapsed="0.000363"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.564144" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.564656" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.565050" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.551542" elapsed="0.013538"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.565648" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.565326" elapsed="0.000369"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.568174" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.565839" elapsed="0.003269"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.570991" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.569194" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.569168" elapsed="0.001899"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.637617" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.637680" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.571211" elapsed="0.066494"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.639866" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.637826" elapsed="0.002103"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.637794" elapsed="0.002164"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.639996" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:09.640223" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.640289" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.550645" elapsed="0.089667"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.642550" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.640944" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.640926" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.643253" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.642776" elapsed="0.000507"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.643946" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.643449" elapsed="0.000524"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.644024" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.644214" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.640574" elapsed="0.003702"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.644440" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.550001" elapsed="0.094914"/>
</kw>
<arg>f6.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.497627" elapsed="0.147346"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.490616" elapsed="0.154487"/>
</test>
<test id="s1-s3-s1-t66" name="Test Is Flow 7 Updated" line="195">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.656176" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.656371" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.656031" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.656992" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8a90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.656558" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.657479" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.657173" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.657930" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.657657" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.658396" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.658108" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.659318" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.658573" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.659874" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.659536" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.660486" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.660138" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.661016" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.660684" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.661553" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.661216" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.662078" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.661754" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.662622" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8a90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.662294" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.655691" elapsed="0.007030"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.663277" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.662871" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.663720" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.663474" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.671735" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.671412" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.678771" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.680382" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '836'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.680704" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.671894" elapsed="0.008873"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.682004" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.681287" elapsed="0.000825"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.686335" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.682588" elapsed="0.003843"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.689719" elapsed="0.000041"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.686569" elapsed="0.003277"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.686526" elapsed="0.003377"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.695375" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.695463" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.690221" elapsed="0.005280"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.698127" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.695615" elapsed="0.002585"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.695585" elapsed="0.002648"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.698304" elapsed="0.000051"/>
</return>
<msg time="2026-05-25T00:36:09.698600" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.698661" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.671078" elapsed="0.027615"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.702344" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.699643" elapsed="0.002766"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.699616" elapsed="0.002825"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.703262" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.702655" elapsed="0.000647"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.704079" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.703576" elapsed="0.000540"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.704183" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:09.704453" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.699072" elapsed="0.005414"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.704703" elapsed="0.000591"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.670509" elapsed="0.034878"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.715195" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.714847" elapsed="0.000378"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.730828" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.731909" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.732489" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.715385" elapsed="0.017146"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.733308" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.732842" elapsed="0.000530"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.737069" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.733566" elapsed="0.004815"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.740994" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.738503" elapsed="0.002564"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.738467" elapsed="0.002632"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.770459" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.770526" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.741313" elapsed="0.029239"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.772771" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.770693" elapsed="0.002142"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.770651" elapsed="0.002215"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.772906" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:09.773146" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.773191" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.714440" elapsed="0.058774"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.775580" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.773892" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.773874" elapsed="0.001779"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.776341" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.775821" elapsed="0.000549"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.776897" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.776537" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.776974" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:09.777162" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.773510" elapsed="0.003678"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.777376" elapsed="0.000430"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.713726" elapsed="0.064146"/>
</kw>
<arg>f7.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.652398" elapsed="0.125535"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.645486" elapsed="0.132579"/>
</test>
<test id="s1-s3-s1-t67" name="Test Is Flow 8 Updated" line="197">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.789435" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.789703" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.789268" elapsed="0.000476"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.790526" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2ba60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.789956" elapsed="0.000604"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.791183" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.790774" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.791892" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.791483" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.792535" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.792146" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.793794" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.792773" elapsed="0.001054"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.794505" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.794003" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.795344" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.794867" elapsed="0.000567"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.796146" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.795662" elapsed="0.000550"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.796899" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.796462" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.797680" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.797187" elapsed="0.000563"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.798443" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2ba60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.797977" elapsed="0.000528"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.788874" elapsed="0.009717"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.799354" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.798801" elapsed="0.000597"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.800319" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.799634" elapsed="0.000783"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.811893" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.811398" elapsed="0.000527"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.819168" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.820063" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '955'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.820229" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.812075" elapsed="0.008201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.820943" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.820601" elapsed="0.000390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.823277" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.821138" elapsed="0.002202"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.825873" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.823471" elapsed="0.002484"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.823441" elapsed="0.002549"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.831884" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.832001" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.826226" elapsed="0.005826"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.835206" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.832310" elapsed="0.003007"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.832224" elapsed="0.003135"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.835473" elapsed="0.000059"/>
</return>
<msg time="2026-05-25T00:36:09.835808" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.835874" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.810856" elapsed="0.025053"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.838476" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.836620" elapsed="0.001904"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.836601" elapsed="0.001946"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.839212" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.838715" elapsed="0.000542"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.839836" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.839449" elapsed="0.000425"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.839929" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:09.840119" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.836224" elapsed="0.003928"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.840392" elapsed="0.000507"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.809856" elapsed="0.031112"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.849081" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.848752" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.865363" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.866063" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.866573" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.849261" elapsed="0.017354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.867317" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.866884" elapsed="0.000535"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.872479" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.867647" elapsed="0.006190"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.876778" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.873956" elapsed="0.002902"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.873922" elapsed="0.002970"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.907399" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.907458" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:09.877105" elapsed="0.030378"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.909491" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.907590" elapsed="0.001977"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.907563" elapsed="0.002041"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.909655" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:36:09.909945" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:09.910009" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.848362" elapsed="0.061681"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.912391" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.910701" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.910683" elapsed="0.001778"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.913079" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.912616" elapsed="0.000491"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.913642" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.913285" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.913719" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:09.913900" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.910337" elapsed="0.003589"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.914083" elapsed="0.000440"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.847686" elapsed="0.066903"/>
</kw>
<arg>f8.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.785407" elapsed="0.129242"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.778308" elapsed="0.136471"/>
</test>
<test id="s1-s3-s1-t68" name="Test Is Flow 9 Updated" line="199">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:09.926596" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:09.926815" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:09.926403" elapsed="0.000441"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:09.927636" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:09.927050" elapsed="0.000615"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.928122" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.927828" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.928585" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.928315" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:09.929028" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:09.928760" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.930034" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:09.929205" elapsed="0.000860"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.930595" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.930229" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.931220" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.930896" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.931885" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.931537" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.932417" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.932085" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.932933" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.932613" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.933470" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:09.933128" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:09.925828" elapsed="0.007741"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.934130" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.933724" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.934579" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.934332" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.942660" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.942345" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.952265" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.953226" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '927'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:09.953403" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.942819" elapsed="0.010620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.954101" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.953722" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.957219" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.954389" elapsed="0.002938"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.959939" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.957438" elapsed="0.002575"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.957405" elapsed="0.002641"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:09.964527" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:09.964593" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:09.960262" elapsed="0.004363"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:09.967123" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:09.964729" elapsed="0.002472"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.964704" elapsed="0.002549"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:09.967304" elapsed="0.000056"/>
</return>
<msg time="2026-05-25T00:36:09.967602" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:09.967663" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.942009" elapsed="0.025686"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:09.970931" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:09.968497" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:09.968472" elapsed="0.002556"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.971848" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.971232" elapsed="0.000654"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.972467" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:09.972101" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:09.972542" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:09.972722" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:09.968005" elapsed="0.004742"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:09.972902" elapsed="0.000413"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.941422" elapsed="0.031957"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.981165" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:09.980863" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:09.995025" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:09.996034" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:09.996751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:09.981338" elapsed="0.015474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:09.997842" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.997208" elapsed="0.000735"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.003543" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:09.998301" elapsed="0.006712"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.007629" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.005127" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.005096" elapsed="0.002636"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.034227" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.034290" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.007931" elapsed="0.026383"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.036376" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.034394" elapsed="0.002040"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.034375" elapsed="0.002086"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.036495" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:10.036704" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.036749" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:09.980485" elapsed="0.056287"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.038968" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.037377" elapsed="0.001638"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.037359" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.039644" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.039188" elapsed="0.000484"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.040187" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.039834" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.040281" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.040464" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.037012" elapsed="0.003477"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.040648" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:09.979841" elapsed="0.061270"/>
</kw>
<arg>f9.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:09.921862" elapsed="0.119309"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:09.914995" elapsed="0.126317"/>
</test>
<test id="s1-s3-s1-t69" name="Test Is Flow 10 Updated" line="201">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.052469" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.052629" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.052322" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.053261" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.052811" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.053729" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.053444" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.054176" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.053907" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.054637" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.054367" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.055625" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.054813" elapsed="0.000843"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.056157" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.055814" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.056745" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.056416" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.057284" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.056939" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.057791" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.057477" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.058323" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.057985" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.058837" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.058519" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.051967" elapsed="0.006966"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.059516" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.059080" elapsed="0.000468"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.060115" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.059701" elapsed="0.000480"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.067996" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.067691" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.074217" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.074934" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '931'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.075058" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.068153" elapsed="0.006931"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.075671" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.075368" elapsed="0.000350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.077913" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.075869" elapsed="0.002106"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.079875" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.078054" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.078031" elapsed="0.001919"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.084648" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.084724" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.080122" elapsed="0.004635"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.087369" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.084887" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.084853" elapsed="0.002631"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.087531" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:10.087821" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.087883" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.067372" elapsed="0.020543"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.091210" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.088734" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.088709" elapsed="0.002679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.092142" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.091604" elapsed="0.000566"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.092705" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.092354" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.092781" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.092960" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.088229" elapsed="0.004756"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.093147" elapsed="0.000425"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.066765" elapsed="0.026872"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.101721" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.101400" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.117483" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.118465" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.119139" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.101882" elapsed="0.017317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.120227" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.119632" elapsed="0.000733"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.125190" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.120684" elapsed="0.005791"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.129094" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.126588" elapsed="0.002577"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.126555" elapsed="0.002643"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.155989" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.156049" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.129416" elapsed="0.026657"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.158033" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.156173" elapsed="0.001916"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.156145" elapsed="0.001970"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.158150" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:10.158401" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.158454" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.100855" elapsed="0.057623"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.160702" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.159081" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.159060" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.161356" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.160922" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.161902" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.161548" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.161977" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.162157" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.158724" elapsed="0.003459"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.162357" elapsed="0.000407"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.100206" elapsed="0.062621"/>
</kw>
<arg>f10.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.048645" elapsed="0.114240"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.041655" elapsed="0.121355"/>
</test>
<test id="s1-s3-s1-t70" name="Test Is Flow 11 Updated" line="203">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.174194" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.174401" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.174050" elapsed="0.000381"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.175029" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de9d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.174584" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.175545" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.175214" elapsed="0.000359"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.175994" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.175724" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.176455" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.176167" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.177402" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.176631" elapsed="0.000802"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.177923" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.177591" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.178519" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.178176" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.179039" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.178713" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.179578" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.179249" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.180092" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.179773" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.180781" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de9d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.180302" elapsed="0.000523"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.173718" elapsed="0.007163"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.181436" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.181031" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.181863" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.181620" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.189788" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.189404" elapsed="0.000415"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.197542" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.199163" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '901'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.199529" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.189951" elapsed="0.009642"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.200867" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.200143" elapsed="0.000836"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.206372" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.201358" elapsed="0.005164"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.209285" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.206706" elapsed="0.002634"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.206652" elapsed="0.002712"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.212561" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.212609" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.209508" elapsed="0.003124"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.214709" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.212707" elapsed="0.002058"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.212688" elapsed="0.002102"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.214823" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:10.215028" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.215072" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.189073" elapsed="0.026021"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.217490" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.215884" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.215867" elapsed="0.001692"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.218120" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.217711" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.218681" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.218329" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.218756" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.218935" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.215539" elapsed="0.003421"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.219116" elapsed="0.000427"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.188514" elapsed="0.031093"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.227731" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.227099" elapsed="0.000673"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.243222" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.244228" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.244888" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.227928" elapsed="0.017027"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.245935" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.245356" elapsed="0.000682"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.250291" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.246399" elapsed="0.005180"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.254146" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.251688" elapsed="0.002526"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.251660" elapsed="0.002605"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.279606" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.279669" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.254467" elapsed="0.025227"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.281736" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.279817" elapsed="0.001979"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.279785" elapsed="0.002040"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.281864" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:10.282093" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.282137" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.226719" elapsed="0.055441"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.284522" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.282821" elapsed="0.001748"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.282803" elapsed="0.001789"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.285254" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.284747" elapsed="0.000537"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.285809" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.285454" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.285885" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.286064" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.282455" elapsed="0.003634"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.286267" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.226083" elapsed="0.060665"/>
</kw>
<arg>f11.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.170406" elapsed="0.116399"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.163500" elapsed="0.123433"/>
</test>
<test id="s1-s3-s1-t71" name="Test Is Flow 14 Updated" line="205">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.298109" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.298292" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.297951" elapsed="0.000371"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.298923" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.298475" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.299439" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.299105" elapsed="0.000361"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.299891" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.299618" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.300358" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.300068" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.301342" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.300539" elapsed="0.000833"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.301865" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.301532" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.302468" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.302122" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.303034" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.302666" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.303771" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.303277" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.304311" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.303974" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.304836" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.304512" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.297616" elapsed="0.007317"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.305483" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.305084" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.305909" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.305666" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.313731" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.313419" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.320817" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.321662" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '991'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.321817" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.313889" elapsed="0.007956"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.322537" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.322176" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.325438" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.322731" elapsed="0.002798"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.328468" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.325648" elapsed="0.002904"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.325611" elapsed="0.002977"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.333391" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.333460" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.328803" elapsed="0.004693"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.336220" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.333607" elapsed="0.002686"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.333579" elapsed="0.002739"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.336353" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:10.336567" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.336611" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.313069" elapsed="0.023565"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.339057" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.337231" elapsed="0.001878"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.337214" elapsed="0.001918"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.339735" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.339317" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.340292" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.339925" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.340368" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.340546" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.336880" elapsed="0.003691"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.340727" elapsed="0.000397"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.312509" elapsed="0.028677"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.349148" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.348837" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.369334" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.370378" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.371112" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.349324" elapsed="0.021852"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.372355" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.371677" elapsed="0.000789"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.377437" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.372809" elapsed="0.005898"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.381356" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.378814" elapsed="0.002613"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.378784" elapsed="0.002675"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.410614" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.410670" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.381657" elapsed="0.029037"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.412616" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.410792" elapsed="0.001883"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.410768" elapsed="0.001933"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.412738" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:10.412955" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.413000" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.348456" elapsed="0.064566"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.415260" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.413639" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.413621" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.415917" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.415484" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.416504" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.416116" elapsed="0.000415"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.416580" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.416758" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.413287" elapsed="0.003496"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.416942" elapsed="0.000415"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.347807" elapsed="0.069614"/>
</kw>
<arg>f14.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.294304" elapsed="0.123177"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.287340" elapsed="0.130274"/>
</test>
<test id="s1-s3-s1-t72" name="Test Is Flow 15 Updated" line="207">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.428746" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.428910" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.428602" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.429529" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7f10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.429092" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.429993" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.429710" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.430462" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.430174" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.430909" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.430639" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.431826" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.431085" elapsed="0.000772"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.432394" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.432017" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.432984" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.432656" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.433529" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.433182" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.434038" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.433724" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.434578" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.434254" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.435095" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7f10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.434776" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.428268" elapsed="0.006942"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.435758" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.435379" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.436181" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.435940" elapsed="0.000317"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.445976" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.445665" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.453984" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.454794" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '738'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.454962" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.446132" elapsed="0.008866"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.455638" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.455276" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.458681" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.455900" elapsed="0.002916"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.461416" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.458918" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.458889" elapsed="0.002629"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.465179" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.465380" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.461713" elapsed="0.003692"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.467207" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.465479" elapsed="0.001974"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.465461" elapsed="0.002017"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.467513" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:10.467711" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.467755" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.445345" elapsed="0.022432"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.469928" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.468339" elapsed="0.001636"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.468321" elapsed="0.001676"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.470560" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.470144" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.471102" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.470749" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.471196" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:10.471391" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.467988" elapsed="0.003429"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.471571" elapsed="0.000389"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.444757" elapsed="0.027266"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.480035" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.479733" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.497739" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.498783" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.499546" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.480192" elapsed="0.019421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.500699" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.500023" elapsed="0.000787"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.505758" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.501154" elapsed="0.005966"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.509938" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.507276" elapsed="0.002737"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.507226" elapsed="0.002822"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.539026" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.539079" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.510304" elapsed="0.028800"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.540979" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.539219" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.539199" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.541096" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:10.541329" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.541375" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.479351" elapsed="0.062047"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.543630" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.541996" elapsed="0.001681"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.541978" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.544311" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.543854" elapsed="0.000486"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.544861" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.544505" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.544937" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.545116" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.541647" elapsed="0.003495"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.545316" elapsed="0.000397"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.478699" elapsed="0.067078"/>
</kw>
<arg>f15.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.424938" elapsed="0.120898"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.417945" elapsed="0.128018"/>
</test>
<test id="s1-s3-s1-t73" name="Test Is Flow 16 Updated" line="209">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.557094" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.557274" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.556949" elapsed="0.000357"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.557877" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6f20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.557460" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.558361" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.558061" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.558812" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.558540" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.559312" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.558988" elapsed="0.000351"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.560169" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.559490" elapsed="0.000710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.560713" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.560377" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.561309" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.560965" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.561837" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.561507" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.562364" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.562033" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.562886" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.562563" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.563458" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6f20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.563087" elapsed="0.000413"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.556613" elapsed="0.006942"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.564087" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.563704" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.564527" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.564283" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.572504" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.572177" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.579513" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.580137" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '735'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.580324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.572665" elapsed="0.007698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.581011" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.580619" elapsed="0.000457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.584137" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.581300" elapsed="0.002995"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.586889" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.584407" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.584375" elapsed="0.002621"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.591279" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.591349" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.587213" elapsed="0.004170"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.593374" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.591490" elapsed="0.001941"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.591463" elapsed="0.001993"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.593490" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:10.593693" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.593737" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.571858" elapsed="0.021902"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.595948" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.594353" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.594335" elapsed="0.001682"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.596589" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.596168" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.597129" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.596779" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.597205" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:10.597400" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.593992" elapsed="0.003434"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.597582" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.571297" elapsed="0.026741"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.608103" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.607792" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.623784" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.624832" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.625528" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.608277" elapsed="0.017312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.626563" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.625949" elapsed="0.000716"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.632216" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.626987" elapsed="0.006520"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.636228" elapsed="0.000048"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.633612" elapsed="0.002717"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.633583" elapsed="0.002780"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.664998" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.665046" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.636564" elapsed="0.028506"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.666880" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.665150" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.665131" elapsed="0.001831"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.666996" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:10.667268" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.667315" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.607410" elapsed="0.059928"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.669601" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.667911" elapsed="0.001736"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.667893" elapsed="0.001776"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.670248" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.669821" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.670799" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.670444" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.670876" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:10.671056" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.667574" elapsed="0.003508"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.671282" elapsed="0.000397"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.606747" elapsed="0.064996"/>
</kw>
<arg>f16.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.553254" elapsed="0.118548"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.546291" elapsed="0.125639"/>
</test>
<test id="s1-s3-s1-t74" name="Test Is Flow 17 Updated" line="211">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.682973" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.683385" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.682828" elapsed="0.000593"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.684067" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4900&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.683618" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.684551" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.684264" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.685000" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.684729" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.685463" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.685176" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.686332" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.685640" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.686865" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.686523" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.687486" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.687128" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.688011" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.687683" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.688541" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.688207" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.689064" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.688740" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.689608" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f4900&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.689283" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.682497" elapsed="0.007208"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.690255" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.689856" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.690692" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.690449" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.698906" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.698597" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.705553" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.706162" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '727'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.706305" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.699064" elapsed="0.007268"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.706823" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.706531" elapsed="0.000337"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.709104" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.707012" elapsed="0.002193"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.711073" elapsed="0.000053"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.709303" elapsed="0.001860"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.709277" elapsed="0.001911"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.714952" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.715017" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.711346" elapsed="0.003704"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.717614" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.715176" elapsed="0.002516"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.715150" elapsed="0.002577"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.717775" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:10.718053" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.718115" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.698276" elapsed="0.019871"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.720911" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.718952" elapsed="0.002005"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.718927" elapsed="0.002053"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.721557" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.721135" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.722098" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.721747" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.722173" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.722369" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.718481" elapsed="0.003914"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.722552" elapsed="0.000392"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.697697" elapsed="0.025310"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.731107" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.730773" elapsed="0.000363"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.746100" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.747051" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.747748" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.731289" elapsed="0.016519"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.748773" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.748167" elapsed="0.000708"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.753533" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.749198" elapsed="0.005605"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.757449" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.754904" elapsed="0.002616"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.754877" elapsed="0.002675"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.787668" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.787720" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.757747" elapsed="0.029997"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.789608" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.787835" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.787812" elapsed="0.001880"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.789727" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:10.789934" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.789977" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.730392" elapsed="0.059608"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.792225" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.790612" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.790594" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.792891" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.792460" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.793580" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.793085" elapsed="0.000522"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.793656" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:10.793834" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.790255" elapsed="0.003604"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.794015" elapsed="0.000413"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.729738" elapsed="0.064753"/>
</kw>
<arg>f17.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.679192" elapsed="0.115357"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.672267" elapsed="0.122411"/>
</test>
<test id="s1-s3-s1-t75" name="Test Is Flow 18 Updated" line="213">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.805939" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.806101" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.805796" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.806702" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.806299" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.807208" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.806882" elapsed="0.000368"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.807679" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.807405" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.808125" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.807855" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.808907" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.808317" elapsed="0.000620"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.809454" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.809099" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.810021" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.809694" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.810558" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.810214" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.811085" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.810751" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.811624" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.811304" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.812139" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.811820" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.805465" elapsed="0.006782"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.812782" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.812400" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.813203" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.812962" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.821278" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.820954" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.827829" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.828542" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '603'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.828715" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.821437" elapsed="0.007315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.829438" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.829014" elapsed="0.000489"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.832659" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;141&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.829710" elapsed="0.003093"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.835479" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.832918" elapsed="0.002636"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.832883" elapsed="0.002703"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.839867" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.839932" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.835784" elapsed="0.004182"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.841803" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.840069" elapsed="0.001790"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.840043" elapsed="0.001841"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.841919" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:10.842126" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.842170" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.820633" elapsed="0.021560"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.844418" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.842794" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.842776" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.845046" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.844638" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.845600" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.845249" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.845675" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.845854" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.842449" elapsed="0.003430"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.846035" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.820043" elapsed="0.026467"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.854532" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.854207" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.870102" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.870819" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.871379" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.854692" elapsed="0.016729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.872213" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.871746" elapsed="0.000559"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.876064" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.872519" elapsed="0.004945"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.880217" elapsed="0.000032"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.877588" elapsed="0.002700"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.877552" elapsed="0.002761"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.907912" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.907960" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:10.880458" elapsed="0.027526"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.909808" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.908064" elapsed="0.001801"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.908045" elapsed="0.001845"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.909924" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:10.910138" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:10.910183" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.853827" elapsed="0.056379"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.912495" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.910847" elapsed="0.001695"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.910829" elapsed="0.001736"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.913137" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.912719" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.913700" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.913344" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.913777" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:10.913957" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.910495" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.914140" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.853191" elapsed="0.061430"/>
</kw>
<arg>f18.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.801994" elapsed="0.112685"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.795028" elapsed="0.119779"/>
</test>
<test id="s1-s3-s1-t76" name="Test Is Flow 19 Updated" line="215">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:10.925959" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:10.926117" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:10.925815" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:10.926714" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:10.926315" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.927359" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.926895" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.927811" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.927539" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:10.928273" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:10.927987" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.929014" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:10.928453" elapsed="0.000592"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.929556" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.929202" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.930122" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.929794" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.930665" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.930334" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.931211" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.930861" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.931757" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.931436" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.932291" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:10.931954" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:10.925482" elapsed="0.006907"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.932923" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.932541" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.933369" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.933110" elapsed="0.000315"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.941425" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.941096" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.947678" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.948116" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '451'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:10.948260" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.941584" elapsed="0.006705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.948729" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.948462" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.950920" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;142&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.948919" elapsed="0.002057"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.952874" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.951094" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.951068" elapsed="0.001919"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:10.955725" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:10.955772" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:10.953133" elapsed="0.002663"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:10.958265" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:10.955870" elapsed="0.002474"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.955851" elapsed="0.002528"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:10.958427" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:10.958704" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:10.958765" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.940776" elapsed="0.018021"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:10.961876" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.959625" elapsed="0.002315"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.959599" elapsed="0.002372"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.962759" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.962179" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.963555" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:10.963042" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:10.963660" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:10.963910" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:10.959133" elapsed="0.004813"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:10.964170" elapsed="0.000567"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.940191" elapsed="0.024636"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.973988" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:10.973683" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:10.989130" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:10.990403" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:10.991228" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:10.974180" elapsed="0.017146"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.992522" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.991786" elapsed="0.000848"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:10.997595" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:10.992979" elapsed="0.005886"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.001494" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:10.999000" elapsed="0.002569"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:10.998948" elapsed="0.002654"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.030679" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.030729" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.001803" elapsed="0.028951"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.032611" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.030835" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.030816" elapsed="0.001877"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.032728" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:11.032942" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.032987" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:10.973304" elapsed="0.059706"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.035254" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.033631" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.033613" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.035891" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.035475" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.036482" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.036085" elapsed="0.000424"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.036558" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.036737" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.033277" elapsed="0.003485"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.036920" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:10.972645" elapsed="0.064756"/>
</kw>
<arg>f19.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:10.922155" elapsed="0.115305"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:10.915222" elapsed="0.122365"/>
</test>
<test id="s1-s3-s1-t77" name="Test Is Flow 20 Updated" line="217">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.048662" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.048863" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.048517" elapsed="0.000376"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.049481" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.049046" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.049950" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.049665" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.050422" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.050133" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.050867" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.050599" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.051687" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.051098" elapsed="0.000620"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.052228" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.051876" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.052818" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.052489" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.053372" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.053012" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.053883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.053567" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.054416" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.054079" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.054934" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.054613" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.048169" elapsed="0.006877"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.055600" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.055194" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.056021" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.055782" elapsed="0.000295"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.064042" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.063731" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.070474" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.070907" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '487'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.071029" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.064218" elapsed="0.006837"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.071490" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.071217" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.073688" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;143&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.071678" elapsed="0.002065"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.075660" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.073814" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.073793" elapsed="0.001945"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.079427" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.079492" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.075879" elapsed="0.003645"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.082068" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.079628" elapsed="0.002523"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.079602" elapsed="0.002583"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.082252" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:11.082531" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.082592" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.063411" elapsed="0.019212"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.085702" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.083450" elapsed="0.002317"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.083425" elapsed="0.002373"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.086584" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.086001" elapsed="0.000622"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.087408" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.086850" elapsed="0.000595"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.087515" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:11.087766" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.082918" elapsed="0.004882"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.088019" elapsed="0.000438"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.062784" elapsed="0.025737"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.096556" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.096253" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.110681" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.111846" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.112619" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.096713" elapsed="0.015969"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.113748" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.113093" elapsed="0.000757"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.119426" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.114170" elapsed="0.006880"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.123712" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.121178" elapsed="0.002607"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.121145" elapsed="0.002672"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.204467" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.204531" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.124016" elapsed="0.080541"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.206721" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.204681" elapsed="0.002101"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.204650" elapsed="0.002159"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.206846" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:11.207101" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.207147" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.095862" elapsed="0.111308"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.209564" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.207958" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.207940" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.210265" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.209785" elapsed="0.000510"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.210816" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.210459" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.210892" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:11.211094" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.207593" elapsed="0.003527"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.211295" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.095219" elapsed="0.116546"/>
</kw>
<arg>f20.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.044853" elapsed="0.166971"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.037909" elapsed="0.174039"/>
</test>
<test id="s1-s3-s1-t78" name="Test Is Flow 21 Updated" line="219">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.223025" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.223219" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.222847" elapsed="0.000416"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.223844" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2ed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.223420" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.224328" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.224026" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.224779" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.224507" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.225228" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.224956" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.226132" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.225421" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.226669" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.226335" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.227461" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.226962" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.227995" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.227661" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.228524" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.228189" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.229046" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.228723" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.229589" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2ed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.229264" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.222512" elapsed="0.007177"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.230222" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.229839" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.230665" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.230422" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.238472" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.238145" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.245053" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.245724" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '832'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.245834" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.238633" elapsed="0.007227"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.246296" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.246022" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.248550" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;144&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.246518" elapsed="0.002094"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.250438" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.248683" elapsed="0.001806"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.248662" elapsed="0.001850"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.254419" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.254485" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.250651" elapsed="0.003866"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.257033" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.254621" elapsed="0.002494"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.254596" elapsed="0.002554"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.257196" elapsed="0.000059"/>
</return>
<msg time="2026-05-25T00:36:11.257494" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.257556" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.237825" elapsed="0.019764"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.260920" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.258391" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.258365" elapsed="0.002653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.261813" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.261230" elapsed="0.000622"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.262605" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.262080" elapsed="0.000563"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.262711" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:11.263006" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.257894" elapsed="0.005148"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.263222" elapsed="0.000406"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.237263" elapsed="0.026428"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.271555" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.271250" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.285904" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.287026" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.287851" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.271713" elapsed="0.016205"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.289060" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.288391" elapsed="0.000781"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.295210" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.289557" elapsed="0.006580"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.297999" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.296222" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.296197" elapsed="0.001877"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.325363" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.325411" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.298223" elapsed="0.027211"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.327297" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.325514" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.325495" elapsed="0.001887"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.327416" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:11.327626" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.327671" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.270832" elapsed="0.056861"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.329890" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.328296" elapsed="0.001641"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.328276" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.330539" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.330109" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.331127" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.330730" elapsed="0.000423"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.331203" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:11.331402" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.327932" elapsed="0.003495"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.331586" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.270199" elapsed="0.061851"/>
</kw>
<arg>f21.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.219204" elapsed="0.112905"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.212285" elapsed="0.119961"/>
</test>
<test id="s1-s3-s1-t79" name="Test Is Flow 22 Updated" line="221">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.343374" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.343532" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.343214" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.344134" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.343715" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.344617" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.344331" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.345063" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.344794" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.345528" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.345257" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.346416" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.345704" elapsed="0.000743"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.346956" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.346602" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.347530" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.347189" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.348050" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.347725" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.348575" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.348258" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.349088" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.348771" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.349620" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.349300" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.342847" elapsed="0.006870"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.350262" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.349865" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.350687" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.350445" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.358749" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.358440" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.365538" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.366448" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '830'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.366618" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.358935" elapsed="0.007721"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.367360" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.366941" elapsed="0.000486"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.370557" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;145&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.367708" elapsed="0.002935"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.373270" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.370751" elapsed="0.002594"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.370720" elapsed="0.002659"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.377904" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.377970" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.373577" elapsed="0.004426"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.380559" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.378109" elapsed="0.002528"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.378082" elapsed="0.002591"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.380721" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:11.381003" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.381067" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.358104" elapsed="0.022995"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.384164" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.381909" elapsed="0.002303"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.381884" elapsed="0.002371"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.384818" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.384411" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.385379" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.385009" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.385455" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.385636" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.381431" elapsed="0.004230"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.385819" elapsed="0.000400"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.357535" elapsed="0.028764"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.394146" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.393841" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.409624" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.410577" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.411312" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.394321" elapsed="0.017054"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.412408" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.411771" elapsed="0.000743"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.418200" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.412839" elapsed="0.007521"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.423765" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.420527" elapsed="0.003288"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.420483" elapsed="0.003356"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.450672" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.450721" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.423980" elapsed="0.026765"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.452595" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.450853" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.450806" elapsed="0.001872"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.452713" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.452913" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.452959" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.393458" elapsed="0.059524"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.455172" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.453560" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.453541" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.455815" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.455408" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.456382" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.456010" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.456460" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:11.456641" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.453205" elapsed="0.003462"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.456825" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.392818" elapsed="0.064486"/>
</kw>
<arg>f22.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.339538" elapsed="0.117826"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.332557" elapsed="0.124929"/>
</test>
<test id="s1-s3-s1-t80" name="Test Is Flow 23 Updated" line="223">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.468576" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.468728" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.468430" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.469350" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8e00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.468912" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.469818" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.469532" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.470282" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.469995" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.470735" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.470462" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.471698" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.470950" elapsed="0.000778"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.472225" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.471887" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.472807" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.472477" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.473349" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.473004" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.473863" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.473545" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.474397" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.474060" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.474937" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8e00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.474597" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.468079" elapsed="0.006957"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.475591" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.475187" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.476017" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.475773" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.484067" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.483762" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.489993" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.490702" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '884'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.490872" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.484246" elapsed="0.006654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.491528" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.491108" elapsed="0.000538"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.494709" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;146&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.491850" elapsed="0.002945"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.497421" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.494927" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.494896" elapsed="0.002632"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.502122" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.502189" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.497726" elapsed="0.004496"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.504338" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.502347" elapsed="0.002048"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.502320" elapsed="0.002101"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.504455" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:11.504661" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.504706" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.483438" elapsed="0.021291"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.507092" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.505312" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.505295" elapsed="0.001869"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.507740" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.507331" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.508305" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.507932" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.508382" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.508563" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.504953" elapsed="0.003636"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.508747" elapsed="0.000430"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.482852" elapsed="0.026407"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.517150" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.516844" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.530737" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.531360" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.531765" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.517323" elapsed="0.014480"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.532410" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.532028" elapsed="0.000446"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.535879" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.532672" elapsed="0.004514"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.539785" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.537306" elapsed="0.002549"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.537277" elapsed="0.002610"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.572966" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.573015" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.540083" elapsed="0.032957"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.574864" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.573120" elapsed="0.001807"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.573101" elapsed="0.001852"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.574987" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:11.575186" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.575231" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.516462" elapsed="0.058809"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.577438" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.575826" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.575808" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.578065" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.577658" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.578633" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.578274" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.578710" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.578907" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.575489" elapsed="0.003444"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.579092" elapsed="0.000406"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.515814" elapsed="0.063748"/>
</kw>
<arg>f23.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.464743" elapsed="0.114878"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.457786" elapsed="0.121956"/>
</test>
<test id="s1-s3-s1-t81" name="Test Is Flow 24 Updated" line="225">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.590723" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.590913" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.590581" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.591618" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0caf20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.591097" elapsed="0.000550"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.592090" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.591803" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.592567" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.592293" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.593018" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.592745" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.593760" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.593195" elapsed="0.000595"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.594301" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.593949" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.594884" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.594537" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.595433" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.595081" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.595947" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.595629" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.596484" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.596147" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.597008" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0caf20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.596685" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.590248" elapsed="0.006857"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.597654" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.597270" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.598077" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.597837" elapsed="0.000296"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.606063" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.605761" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.612031" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.612580" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '448'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.612725" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.606221" elapsed="0.006541"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.613365" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.612985" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.616454" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;147&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.613630" elapsed="0.002901"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.619138" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.616629" elapsed="0.002581"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.616602" elapsed="0.002700"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.623092" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.623147" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.619505" elapsed="0.003666"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.625004" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.623261" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.623227" elapsed="0.001858"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.625119" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.625331" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.625376" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.605442" elapsed="0.019957"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.627572" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.625939" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.625920" elapsed="0.001720"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.628184" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.627788" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.628741" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.628390" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.628816" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.628994" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.625608" elapsed="0.003411"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.629173" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.604857" elapsed="0.024782"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.637660" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.637359" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.653354" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.654293" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.654957" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.637817" elapsed="0.017199"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.655970" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.655405" elapsed="0.000667"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.661564" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.656424" elapsed="0.006977"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.665225" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.663476" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.663456" elapsed="0.001856"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.695123" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.695171" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.665452" elapsed="0.029743"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.697149" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.695290" elapsed="0.001917"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.695270" elapsed="0.001983"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.697290" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.697490" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.697535" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.636964" elapsed="0.060594"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.699750" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.698108" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.698090" elapsed="0.001729"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.700391" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.699969" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.700942" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.700585" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.701018" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.701198" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.697774" elapsed="0.003450"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.701400" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.636341" elapsed="0.065514"/>
</kw>
<arg>f24.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.586945" elapsed="0.114968"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.580023" elapsed="0.122003"/>
</test>
<test id="s1-s3-s1-t82" name="Test Is Flow 25 Updated" line="227">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.713001" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.713141" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.712848" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.713757" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dc10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.713339" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.714216" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.713939" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.714687" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.714417" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.715162" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.714891" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.716094" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.715353" elapsed="0.000771"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.716626" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.716296" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.717184" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.716858" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.717725" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.717396" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.718245" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.717920" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.718798" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.718445" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.719493" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dc10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.719002" elapsed="0.000535"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.712515" elapsed="0.007078"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.720148" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.719746" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.720603" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.720355" elapsed="0.000313"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.729061" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.728755" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.735320" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.735953" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '883'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.736062" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.729220" elapsed="0.006874"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.736583" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.736323" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.738839" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;148&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.736774" elapsed="0.002127"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.740770" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.738972" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.738953" elapsed="0.001892"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.744656" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.744723" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.740986" elapsed="0.003770"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.747570" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.744863" elapsed="0.002786"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.744836" elapsed="0.002850"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.747733" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:11.748005" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.748067" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.728431" elapsed="0.019669"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.751224" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.748883" elapsed="0.002426"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.748858" elapsed="0.002483"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.752104" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.751548" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.752877" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.752389" elapsed="0.000525"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.752982" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:11.753251" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.748415" elapsed="0.004874"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.753508" elapsed="0.000534"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.727835" elapsed="0.026294"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.762258" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.761940" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.777759" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.778743" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.779399" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.762416" elapsed="0.017044"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.780434" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.779821" elapsed="0.000718"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.786139" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;678000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;339000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;710000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;745000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;826000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;445000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;903000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;482000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;40000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;347000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;211000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;387000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;241000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;424000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;273000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;463000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;539000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;306000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;607000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;645000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;713000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;10000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;821000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;852000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;890000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;927000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;227000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;148000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;180000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;639000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;604000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.780863" elapsed="0.006953"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.790400" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.787918" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.787890" elapsed="0.002614"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.822275" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.822324" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.790733" elapsed="0.031615"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.824181" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.822428" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.822409" elapsed="0.001869"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.824313" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:11.824509" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.824553" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.761561" elapsed="0.063015"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.826756" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.825128" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.825107" elapsed="0.001720"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.827394" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.826977" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.827937" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.827586" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.828013" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.828192" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.824790" elapsed="0.003427"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.828389" elapsed="0.000387"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.760932" elapsed="0.067906"/>
</kw>
<arg>f25.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.709179" elapsed="0.119717"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.702301" elapsed="0.126711"/>
</test>
<test id="s1-s3-s1-t83" name="Test Is Flow 31 Updated" line="229">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.840039" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.840179" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.839899" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.840776" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.840377" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.841253" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.840956" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.841705" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.841433" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.842149" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.841881" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.843002" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.842341" elapsed="0.000692"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.843538" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.843192" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.844099" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.843772" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.844642" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.844312" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.845149" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.844837" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.847717" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.845363" elapsed="0.002402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.848276" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.847924" elapsed="0.000396"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.839567" elapsed="0.008809"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.848916" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.848531" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.849358" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.849098" elapsed="0.000321"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.857172" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.856850" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.863740" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.864507" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '717'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.864670" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.857346" elapsed="0.007360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.865305" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.864930" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.868425" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;154&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.865572" elapsed="0.002982"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.871210" elapsed="0.000062"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.868653" elapsed="0.002672"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.868626" elapsed="0.002732"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.875410" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.875458" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.871553" elapsed="0.003928"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.877312" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.875556" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.875537" elapsed="0.001859"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.877430" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:36:11.877624" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.877669" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.856532" elapsed="0.021160"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.879895" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.878249" elapsed="0.001694"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.878218" elapsed="0.001748"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.880530" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.880113" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.881073" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.880722" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.881149" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.881344" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.877901" elapsed="0.003470"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.881528" elapsed="0.000384"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.855961" elapsed="0.026014"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.890386" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.890072" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.905144" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.908065" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:11.908764" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.890544" elapsed="0.018282"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.909819" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.909197" elapsed="0.000725"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.915294" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.910276" elapsed="0.005925"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.918031" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.916286" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.916266" elapsed="0.001838"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.945307" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.945369" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:11.918258" elapsed="0.027134"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.947250" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.945473" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.945454" elapsed="0.001879"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.947366" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:11.947564" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:11.947608" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.889694" elapsed="0.057937"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.949803" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.948195" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.948177" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.950446" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.950021" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.951022" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.950658" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:11.951097" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:11.951298" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.947853" elapsed="0.003471"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:11.951481" elapsed="0.000389"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.889061" elapsed="0.062871"/>
</kw>
<arg>f31.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.836219" elapsed="0.115770"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.829291" elapsed="0.122816"/>
</test>
<test id="s1-s3-s1-t84" name="Test Is Flow 36 Updated" line="231">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:11.963171" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:11.963347" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:11.963031" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:11.963935" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:11.963528" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.964412" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.964114" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.964856" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.964587" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:11.965314" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:11.965029" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.966090" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:11.965489" elapsed="0.000630"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.966622" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.966292" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.967204" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.966878" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.967744" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.967416" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.968265" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.967937" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.968780" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.968463" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.969312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:11.968976" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:11.962696" elapsed="0.006714"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.969944" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:11.969560" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.970383" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.970124" elapsed="0.000317"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.978388" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:11.978062" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:11.985054" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:11.985581" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '557'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:11.985707" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:11.978545" elapsed="0.007189"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.986259" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.985938" elapsed="0.000370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:11.988548" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;159&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:11.986455" elapsed="0.002203"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:11.990556" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.988742" elapsed="0.001868"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.988718" elapsed="0.001970"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:11.994565" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:11.994652" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:11.990838" elapsed="0.003848"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:11.997251" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:11.994796" elapsed="0.002537"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.994771" elapsed="0.002598"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:11.997417" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:11.997700" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:11.997762" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:11.977744" elapsed="0.020050"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.001067" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:11.998607" elapsed="0.002528"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:11.998582" elapsed="0.002588"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.001963" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.001398" elapsed="0.000603"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.002793" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.002255" elapsed="0.000576"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.002901" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:12.003149" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:11.998110" elapsed="0.005065"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.003350" elapsed="0.000400"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:11.977171" elapsed="0.026643"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.014536" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.014209" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.032028" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.032993" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.033669" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.014719" elapsed="0.019011"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.034739" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.034094" elapsed="0.000749"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.039916" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.035167" elapsed="0.006021"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.043792" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.041307" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.041279" elapsed="0.002616"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.076470" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.076520" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.044091" elapsed="0.032454"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.078424" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.076632" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.076611" elapsed="0.001896"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.078542" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:12.078776" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.078820" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.013819" elapsed="0.065024"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.081045" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.079448" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.079430" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.081698" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.081278" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.082259" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.081891" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.082337" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.082519" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.079082" elapsed="0.003462"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.082734" elapsed="0.000401"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.013168" elapsed="0.070032"/>
</kw>
<arg>f36.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:11.959383" elapsed="0.123891"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:11.952405" elapsed="0.130999"/>
</test>
<test id="s1-s3-s1-t85" name="Test Is Flow 38 Updated" line="233">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.094532" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.094731" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.094387" elapsed="0.000374"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.095342" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f060&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.094914" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.095811" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.095525" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.096273" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.095988" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.096725" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.096455" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.097547" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.096900" elapsed="0.000677"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.098103" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.097763" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.098729" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.098374" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.099273" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.098926" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.099785" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.099469" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.100318" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.099983" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.100837" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f060&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.100515" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.094038" elapsed="0.006896"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.101483" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.101084" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.101910" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.101666" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.109987" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.109673" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.116645" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.117217" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '621'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.117602" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.110148" elapsed="0.007491"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.118326" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.117911" elapsed="0.000482"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.121553" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;161&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.118635" elapsed="0.003073"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.124410" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.121821" elapsed="0.002665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.121789" elapsed="0.002730"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.128373" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.128419" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.124717" elapsed="0.003725"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.130222" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.128517" elapsed="0.001775"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.128499" elapsed="0.001819"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.130352" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:12.130560" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.130628" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.109345" elapsed="0.021306"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.132851" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.131254" elapsed="0.001644"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.131222" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.133493" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.133071" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.134030" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.133683" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.134107" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:12.134307" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.130893" elapsed="0.003441"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.134492" elapsed="0.000458"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.108741" elapsed="0.026274"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.143065" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.142758" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.157303" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.158227" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.158954" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.143225" elapsed="0.015792"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.160016" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.159422" elapsed="0.000701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.165628" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.160489" elapsed="0.006919"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.169250" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.167482" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.167462" elapsed="0.001863"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.201591" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.201640" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.169469" elapsed="0.032194"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.203502" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.201744" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.201725" elapsed="0.001860"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.203619" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.203818" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.203863" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.142356" elapsed="0.061529"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.206052" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.204459" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.204440" elapsed="0.001681"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.206730" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.206283" elapsed="0.000475"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.207297" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.206923" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.207374" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:12.207555" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.204104" elapsed="0.003477"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.207738" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.141714" elapsed="0.066481"/>
</kw>
<arg>f38.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.090753" elapsed="0.117517"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.083762" elapsed="0.124632"/>
</test>
<test id="s1-s3-s1-t86" name="Test Is Flow 43 Updated" line="235">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.219718" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.219884" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.219573" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.220531" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3867f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.220064" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.221004" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.220715" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.221473" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.221183" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.221916" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.221649" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.222834" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.222091" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.223375" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.223023" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.223941" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.223613" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.224485" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.224137" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.224996" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.224681" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.225529" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.225193" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.226049" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3867f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.225728" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.219221" elapsed="0.006927"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.226717" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.226314" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.227141" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.226899" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.235304" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.234973" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.241627" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.242215" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '711'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.242361" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.235465" elapsed="0.006924"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.242903" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.242608" elapsed="0.000343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.245193" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;166&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.243097" elapsed="0.002228"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.247342" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.245409" elapsed="0.002008"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.245385" elapsed="0.002065"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.251687" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.251754" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.247650" elapsed="0.004138"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.254371" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.251894" elapsed="0.002557"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.251868" elapsed="0.002620"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.254590" elapsed="0.000053"/>
</return>
<msg time="2026-05-25T00:36:12.254893" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.254956" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.234652" elapsed="0.020337"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.257492" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.255855" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.255837" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.258145" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.257717" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.258730" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.258352" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.258809" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:12.258993" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.255489" elapsed="0.003531"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.259179" elapsed="0.000422"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.234031" elapsed="0.025638"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.267946" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.267632" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.281535" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.282229" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.282773" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.268108" elapsed="0.014703"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.283448" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.283046" elapsed="0.000465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.286958" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.283737" elapsed="0.004527"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.290905" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.288374" elapsed="0.002604"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.288344" elapsed="0.002667"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.322957" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.323006" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.291189" elapsed="0.031840"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.324864" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.323114" elapsed="0.001808"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.323094" elapsed="0.001854"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.324984" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:12.325191" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.325250" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.267232" elapsed="0.058043"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.327484" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.325853" elapsed="0.001678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.325835" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.328115" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.327702" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.328674" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.328320" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.328750" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:12.328928" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.325509" elapsed="0.003444"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.329109" elapsed="0.000416"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.266575" elapsed="0.063014"/>
</kw>
<arg>f43.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.215793" elapsed="0.113855"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.208706" elapsed="0.121068"/>
</test>
<test id="s1-s3-s1-t87" name="Test Is Flow 45 Updated" line="237">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.340782" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.340942" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.340636" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.341543" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.341125" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.342010" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.341726" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.342478" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.342187" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.342950" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.342678" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.343763" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.343130" elapsed="0.000664"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.344301" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.343952" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.344870" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.344541" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.345420" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.345067" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.345938" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.345617" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.346485" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.346137" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.347024" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.346698" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.340302" elapsed="0.006822"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.347682" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.347295" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.348105" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.347864" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.356254" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.355929" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.362776" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.363359" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '681'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.363481" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.356416" elapsed="0.007091"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.363977" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.363692" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.366196" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;168&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.364169" elapsed="0.002156"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.368186" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.366406" elapsed="0.001848"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.366383" elapsed="0.001897"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.371258" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.371307" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.368424" elapsed="0.002907"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.373103" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.371406" elapsed="0.001752"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.371387" elapsed="0.001796"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.373218" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:12.373441" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.373486" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.355611" elapsed="0.017897"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.375712" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.374074" elapsed="0.001685"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.374056" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.376363" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.375932" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.376908" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.376554" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.376984" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.377165" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.373735" elapsed="0.003456"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.377366" elapsed="0.000396"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.354899" elapsed="0.022928"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.385906" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.385598" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.395825" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.396825" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.397551" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.386067" elapsed="0.011545"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.398738" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.398024" elapsed="0.000819"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.403980" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.399168" elapsed="0.006200"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.408168" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.405486" elapsed="0.002783"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.405454" elapsed="0.002852"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.436898" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.436947" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.408520" elapsed="0.028451"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.438828" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.437053" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.437034" elapsed="0.001877"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.438946" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:12.439159" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.439203" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.385195" elapsed="0.054032"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.441450" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.439832" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.439815" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.442087" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.441669" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.442674" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.442294" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.442750" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:12.442930" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.439486" elapsed="0.003469"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.443112" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.384563" elapsed="0.059029"/>
</kw>
<arg>f45.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.336981" elapsed="0.106671"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.330090" elapsed="0.113686"/>
</test>
<test id="s1-s3-s1-t88" name="Test Is Flow 101 Updated" line="239">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.454976" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.455153" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.454831" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.455780" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3572e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.455352" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.456262" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.455964" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.456715" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.456442" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.457161" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.456892" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.458077" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.457353" elapsed="0.000755"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.458638" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.458280" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.459216" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.458882" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.459765" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.459431" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.460295" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.459962" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.460818" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.460495" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.461354" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3572e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.461015" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.454495" elapsed="0.006958"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.461989" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.461603" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.462635" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.462176" elapsed="0.000523"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.470788" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.470463" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.478327" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.478999" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '833'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.479113" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.470948" elapsed="0.008196"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.479584" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.479324" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.481838" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;224&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.479818" elapsed="0.002081"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.484078" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.481976" elapsed="0.002179"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.481954" elapsed="0.002233"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.488729" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.488795" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.484403" elapsed="0.004425"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.491362" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.488933" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.488907" elapsed="0.002570"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.491524" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:12.491801" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.491863" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.470115" elapsed="0.021780"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.495184" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.492690" elapsed="0.002541"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.492665" elapsed="0.002622"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.495850" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.495441" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.496409" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.496040" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.496485" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:12.496667" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.492198" elapsed="0.004494"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.496848" elapsed="0.000417"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.469554" elapsed="0.027774"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.505397" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.505037" elapsed="0.000390"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.522538" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.523554" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.524290" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.505566" elapsed="0.018786"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.525412" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.524768" elapsed="0.000748"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.529768" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.525835" elapsed="0.005325"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.533929" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.531301" elapsed="0.002707"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.531266" elapsed="0.002777"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.566702" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.566751" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.534271" elapsed="0.032504"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.568609" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.566859" elapsed="0.001807"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.566839" elapsed="0.001852"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.568726" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:12.568937" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.568984" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.504634" elapsed="0.064374"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.571217" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.569613" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.569594" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.571874" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.571452" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.572439" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.572066" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.572517" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.572697" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.569263" elapsed="0.003461"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.572883" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.503900" elapsed="0.069462"/>
</kw>
<arg>f101.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.451137" elapsed="0.122284"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.444128" elapsed="0.129417"/>
</test>
<test id="s1-s3-s1-t89" name="Test Is Flow 102 Updated" line="241">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.584796" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.584959" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.584651" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.585616" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.585142" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.586084" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.585798" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.586579" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.586278" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.587025" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.586756" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.587984" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.587202" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.588526" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.588174" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.589092" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.588767" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.589635" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.589305" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.590142" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.589830" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.590717" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.590355" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.591407" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.590916" elapsed="0.000535"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.584318" elapsed="0.007189"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.592050" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.591661" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.592495" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.592248" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.600288" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.599963" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.608815" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.609775" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '904'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.609932" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.600445" elapsed="0.009523"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.610671" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.610272" elapsed="0.000466"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.613747" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;225&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.610941" elapsed="0.002891"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.616414" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.613932" elapsed="0.002554"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.613904" elapsed="0.002613"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.620908" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.620973" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.616712" elapsed="0.004294"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.623552" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.621111" elapsed="0.002519"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.621085" elapsed="0.002580"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.623711" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:12.623985" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.624047" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.599646" elapsed="0.024433"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.627356" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.624865" elapsed="0.002557"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.624841" elapsed="0.002612"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.628221" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.627661" elapsed="0.000618"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.629000" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.628510" elapsed="0.000527"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.629105" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:12.629383" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.624399" elapsed="0.005019"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.629635" elapsed="0.000545"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.599074" elapsed="0.031216"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.638582" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.638206" elapsed="0.000404"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.654838" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.655920" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.656725" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.638739" elapsed="0.018053"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.657918" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.657223" elapsed="0.000807"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.661962" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.658466" elapsed="0.004795"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.665856" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.663375" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.663344" elapsed="0.002616"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.750742" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.750809" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.666156" elapsed="0.084678"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.752846" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.750963" elapsed="0.001946"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.750931" elapsed="0.002005"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.752975" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:12.753201" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.753262" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.637827" elapsed="0.115459"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.755569" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.753919" elapsed="0.001697"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.753901" elapsed="0.001737"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.756275" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.755793" elapsed="0.000511"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.756824" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.756467" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.756899" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.757080" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.753547" elapsed="0.003558"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.757276" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.637180" elapsed="0.120569"/>
</kw>
<arg>f102.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.580985" elapsed="0.176823"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.573865" elapsed="0.184068"/>
</test>
<test id="s1-s3-s1-t90" name="Test Is Flow 103 Updated" line="243">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.768940" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.769110" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.768794" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.769758" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8810&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.769311" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.770224" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.769939" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.770755" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.770478" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.771199" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.770931" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.772295" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.771390" elapsed="0.000937"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.772819" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.772486" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.773410" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.773069" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.773933" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.773604" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.774474" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.774124" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.774994" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.774673" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.775538" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8810&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.775191" elapsed="0.000389"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.768462" elapsed="0.007174"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.776171" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.775786" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.776610" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.776369" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.784383" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.784057" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.791778" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.792747" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '904'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.792916" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.784542" elapsed="0.008411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.793746" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.793347" elapsed="0.000465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.796966" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;226&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.794014" elapsed="0.003037"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.799658" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.797160" elapsed="0.002570"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.797128" elapsed="0.002635"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.803902" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.803949" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.799960" elapsed="0.004012"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.805940" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.804046" elapsed="0.001951"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.804028" elapsed="0.001994"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.806056" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:12.806281" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.806346" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.783738" elapsed="0.022631"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.808549" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.806944" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.806926" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.809182" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.808770" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.809748" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.809391" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.809825" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.810008" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.806602" elapsed="0.003432"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.810197" elapsed="0.000424"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.783164" elapsed="0.027521"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.818585" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.818229" elapsed="0.000383"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.835185" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.836315" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.837089" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.818746" elapsed="0.018409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.838411" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.837657" elapsed="0.000869"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.843746" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.838875" elapsed="0.005808"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.846611" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.844771" elapsed="0.001896"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.844746" elapsed="0.001945"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.876470" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.876519" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.846834" elapsed="0.029709"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.878395" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.876627" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.876607" elapsed="0.001873"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.878514" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:12.878725" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:12.878769" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.817848" elapsed="0.060944"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.880989" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.879404" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.879386" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.881648" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.881211" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.882201" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.881840" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.882293" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:12.882493" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.879034" elapsed="0.003484"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.882676" elapsed="0.000398"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.817213" elapsed="0.065924"/>
</kw>
<arg>f103.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.765186" elapsed="0.118008"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.758267" elapsed="0.125068"/>
</test>
<test id="s1-s3-s1-t91" name="Test Is Flow 104 Updated" line="245">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:12.894442" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:12.894604" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:12.894277" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:12.895214" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcbd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:12.894785" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.895701" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.895414" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.896150" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.895879" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:12.896618" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:12.896345" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.897537" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:12.896794" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.898059" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.897726" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.898693" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.898359" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.899225" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.898893" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.899759" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.899440" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.900297" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.899959" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.900978" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcbd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:12.900498" elapsed="0.000524"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:12.893913" elapsed="0.007167"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.901640" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.901246" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.902072" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.901825" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.909902" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.909594" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.916800" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.917509" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '833'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:12.917652" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.910060" elapsed="0.007620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.918214" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.917906" elapsed="0.000375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.920623" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;227&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.918535" elapsed="0.002149"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.922581" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.920768" elapsed="0.001867"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.920744" elapsed="0.001915"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:12.925892" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:12.925939" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:12.922803" elapsed="0.003160"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:12.927798" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:12.926037" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.926019" elapsed="0.001861"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:12.927914" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:12.928122" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:12.928167" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.909270" elapsed="0.018921"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.930597" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.928788" elapsed="0.001857"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.928770" elapsed="0.001897"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.931229" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.930820" elapsed="0.000453"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.931790" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:12.931437" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:12.931864" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:12.932043" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:12.928441" elapsed="0.003627"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:12.932229" elapsed="0.000412"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.908696" elapsed="0.024008"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.940567" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:12.940257" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:12.958107" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:12.958635" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:12.959023" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:12.940725" elapsed="0.018328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.959637" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.959311" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:12.962185" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:12.959828" elapsed="0.003320"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:12.967320" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:12.963349" elapsed="0.004046"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:12.963300" elapsed="0.004127"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.000553" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.000601" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:12.967625" elapsed="0.033000"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.002505" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.000709" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.000690" elapsed="0.001898"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.002623" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:13.002833" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.002878" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:12.939852" elapsed="0.063049"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.005115" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.003510" elapsed="0.001656"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.003493" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.005783" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.005363" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.006378" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.005975" elapsed="0.000430"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.006455" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.006634" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.003145" elapsed="0.003514"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.006817" elapsed="0.000395"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:12.939215" elapsed="0.068077"/>
</kw>
<arg>f104.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:12.890632" elapsed="0.116717"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:12.883659" elapsed="0.123815"/>
</test>
<test id="s1-s3-s1-t92" name="Test Is Flow 105 Updated" line="247">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.018598" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.018761" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.018451" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.019391" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebd9850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.018944" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.019862" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.019574" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.020331" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.020041" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.020784" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.020510" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.021720" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.020962" elapsed="0.000789"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.022292" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.021910" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.022869" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.022538" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.023414" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.023066" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.023930" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.023612" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.024480" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.024130" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.025003" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebd9850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.024680" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.018077" elapsed="0.007023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.025654" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.025267" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.026083" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.025839" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.034077" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.033765" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.040459" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.041142" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '838'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.041305" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.034276" elapsed="0.007057"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.041881" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.041557" elapsed="0.000371"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.044255" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;228&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.042132" elapsed="0.002187"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.046176" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.044406" elapsed="0.001824"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.044380" elapsed="0.001926"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.050739" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.050805" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.046452" elapsed="0.004385"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.053355" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.050943" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.050916" elapsed="0.002554"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.053518" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:13.053805" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.053866" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.033442" elapsed="0.020456"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.056659" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.054774" elapsed="0.001932"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.054749" elapsed="0.001980"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.057312" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.056882" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.057859" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.057504" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.057935" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:13.058118" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.054226" elapsed="0.003918"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.058329" elapsed="0.000399"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.032859" elapsed="0.025933"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.066634" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.066321" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.083292" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.084212" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.084909" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.066793" elapsed="0.018177"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.085947" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.085370" elapsed="0.000679"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.091724" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.086429" elapsed="0.006564"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.095626" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.093096" elapsed="0.002601"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.093067" elapsed="0.002662"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.127551" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.127608" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.095925" elapsed="0.031708"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.129566" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.127739" elapsed="0.001886"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.127712" elapsed="0.001940"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.129687" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:13.129901" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.129947" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.065900" elapsed="0.064070"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.132226" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.130612" elapsed="0.001676"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.130593" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.132910" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.132467" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.133477" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.133104" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.133554" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.133734" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.130252" elapsed="0.003507"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.133916" elapsed="0.000444"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.065278" elapsed="0.069146"/>
</kw>
<arg>f105.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.014774" elapsed="0.119708"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.007790" elapsed="0.126819"/>
</test>
<test id="s1-s3-s1-t93" name="Test Is Flow 106 Updated" line="249">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.145716" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.145883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.145570" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.146528" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d990&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.146066" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.146997" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.146711" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.147472" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.147181" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.147922" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.147652" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.148853" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.148100" elapsed="0.000784"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.149396" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.149043" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.149979" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.149649" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.150555" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.150176" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.151072" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.150753" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.151632" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.151307" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.152153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d990&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.151831" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.145226" elapsed="0.007041"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.152808" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.152422" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.153264" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.152994" elapsed="0.000336"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.161403" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.161081" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.167817" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.168571" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '844'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.168763" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.161560" elapsed="0.007233"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.169522" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.169101" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.172023" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;229&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.169801" elapsed="0.002285"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.173987" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.172188" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.172156" elapsed="0.001917"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.178410" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.178477" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.174321" elapsed="0.004189"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.181045" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.178617" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.178590" elapsed="0.002568"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.181206" elapsed="0.000069"/>
</return>
<msg time="2026-05-25T00:36:13.181530" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.181593" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.160762" elapsed="0.020863"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.185016" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.182522" elapsed="0.002558"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.182497" elapsed="0.002614"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.185937" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.185348" elapsed="0.000627"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.186749" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.186226" elapsed="0.000561"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.186855" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:13.187106" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.181985" elapsed="0.005155"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.187386" elapsed="0.000562"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.160183" elapsed="0.027853"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.196872" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.196556" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.208945" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.209554" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.209977" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.197035" elapsed="0.012980"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.210656" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.210292" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.214116" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.210924" elapsed="0.004498"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.217992" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.215522" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.215495" elapsed="0.002598"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.246837" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.246885" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.218354" elapsed="0.028554"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.248750" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.246987" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.246968" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.248866" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.249065" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.249110" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.196155" elapsed="0.052978"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.251367" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.249739" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.249721" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.251998" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.251588" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.252568" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.252190" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.252644" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.252822" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.249389" elapsed="0.003459"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.253007" elapsed="0.000415"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.195519" elapsed="0.057965"/>
</kw>
<arg>f106.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.141898" elapsed="0.111644"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.134946" elapsed="0.118734"/>
</test>
<test id="s1-s3-s1-t94" name="Test Is Flow 107 Updated" line="251">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.265068" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.265280" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.264910" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.265993" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6ac0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.265483" elapsed="0.000540"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.266537" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.266226" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.266985" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.266715" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.267449" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.267160" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.268470" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.267625" elapsed="0.000877"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.269009" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.268667" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.269614" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.269286" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.270137" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.269809" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.270731" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.270379" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.271274" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.270934" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.274423" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6ac0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.271474" elapsed="0.002995"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.264557" elapsed="0.009972"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.275095" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.274686" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.275545" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.275296" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.283373" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.283042" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.289393" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.290509" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '940'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.290695" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.283532" elapsed="0.007201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.291427" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.291022" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.294701" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;230&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.291707" elapsed="0.003086"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.297552" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.294907" elapsed="0.002724"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.294872" elapsed="0.002792"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.302392" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.302461" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.297871" elapsed="0.004625"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.305157" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.302605" elapsed="0.002654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.302578" elapsed="0.002721"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.305349" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:36:13.305645" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.305710" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.282723" elapsed="0.023020"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.308538" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.306604" elapsed="0.001981"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.306578" elapsed="0.002029"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.309155" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.308754" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.309716" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.309364" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.309792" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:13.309970" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.306055" elapsed="0.003941"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.310169" elapsed="0.000417"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.282117" elapsed="0.028532"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.318463" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.318108" elapsed="0.000382"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.333569" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.334548" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.335206" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.318621" elapsed="0.016675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.336275" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.335669" elapsed="0.000713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.340891" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.336703" elapsed="0.005503"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.344800" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.342331" elapsed="0.002537"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.342301" elapsed="0.002599"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.376016" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.376064" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.345098" elapsed="0.030990"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.377926" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.376173" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.376151" elapsed="0.001857"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.378041" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:13.378290" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.378336" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.317733" elapsed="0.060626"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.380541" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.378933" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.378914" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.381171" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.380760" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.381731" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.381378" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.381807" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:13.381986" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.378590" elapsed="0.003421"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.382184" elapsed="0.000412"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.317103" elapsed="0.065556"/>
</kw>
<arg>f107.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.261134" elapsed="0.121583"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.254016" elapsed="0.128830"/>
</test>
<test id="s1-s3-s1-t95" name="Test Is Flow 108 Updated" line="253">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.393886" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.394044" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.393741" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.394701" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f51c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.394262" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.395167" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.394884" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.395633" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.395362" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.396079" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.395810" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.397043" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.396271" elapsed="0.000803"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.397581" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.397247" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.398159" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.397816" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.398700" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.398373" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.399207" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.398894" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.399738" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.399420" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.400269" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f51c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.399934" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.393410" elapsed="0.006956"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.400897" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.400515" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.401508" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.401079" elapsed="0.000494"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.409388" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.409066" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.414834" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.415554" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '940'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.415667" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.409548" elapsed="0.006144"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.416163" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.415900" elapsed="0.000309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.418457" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;231&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.416389" elapsed="0.002130"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.420354" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.418592" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.418571" elapsed="0.001857"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.423796" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.423860" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.420570" elapsed="0.003323"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.426759" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.423996" elapsed="0.002841"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.423971" elapsed="0.002901"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.426919" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:13.427191" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.427274" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.408750" elapsed="0.018558"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.432729" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.428065" elapsed="0.004722"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.428039" elapsed="0.004771"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.433382" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.432960" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.433923" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.433571" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.433998" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.434200" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.427605" elapsed="0.006620"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.434401" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.408164" elapsed="0.026691"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.442686" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.442384" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.456596" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.457564" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.458321" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.442867" elapsed="0.015518"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.459370" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.458756" elapsed="0.000717"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.465035" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.459790" elapsed="0.007384"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.469026" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.467268" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.467233" elapsed="0.001868"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.496622" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.496681" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.469257" elapsed="0.027448"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.498746" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.496815" elapsed="0.001992"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.496788" elapsed="0.002047"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.498873" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:13.499099" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.499143" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.441957" elapsed="0.057209"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.501433" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.499823" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.499805" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.502155" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.501660" elapsed="0.000523"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.502720" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.502363" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.502796" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:13.502978" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.499449" elapsed="0.003554"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.503162" elapsed="0.000471"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.441337" elapsed="0.062373"/>
</kw>
<arg>f108.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.390078" elapsed="0.113694"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.383170" elapsed="0.120737"/>
</test>
<test id="s1-s3-s1-t96" name="Test Is Flow 109 Updated" line="255">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.515123" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.515310" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.514971" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.515963" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5800&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.515497" elapsed="0.000494"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.516450" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.516146" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.516896" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.516627" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.517359" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.517072" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.518393" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.517538" elapsed="0.000886"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.518918" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.518585" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.519520" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.519175" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.520044" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.519715" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.520578" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.520259" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.521094" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.520776" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.521807" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5800&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.521308" elapsed="0.000543"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.514629" elapsed="0.007279"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.522498" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.522061" elapsed="0.000469"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.522930" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.522683" elapsed="0.000312"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.530811" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.530495" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.536485" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.537199" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '940'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.537385" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.530970" elapsed="0.006454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.538114" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.537708" elapsed="0.000477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.541418" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;232&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.538421" elapsed="0.003090"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.544371" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.541624" elapsed="0.002826"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.541591" elapsed="0.002892"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.548565" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.548612" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.544693" elapsed="0.003943"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.550455" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.548711" elapsed="0.001800"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.548692" elapsed="0.001844"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.550570" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:13.550813" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.550860" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.530159" elapsed="0.020724"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.553269" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.551455" elapsed="0.001863"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.551437" elapsed="0.001903"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.553896" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.553489" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.554511" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.554100" elapsed="0.000438"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.554588" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.554768" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.551104" elapsed="0.003689"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.554950" elapsed="0.000410"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.529567" elapsed="0.025858"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.563276" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.562938" elapsed="0.000366"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.582848" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.583802" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.584515" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.563434" elapsed="0.021167"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.585606" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.584986" elapsed="0.000722"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.589691" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.586030" elapsed="0.004948"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.593568" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.591078" elapsed="0.002559"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.591051" elapsed="0.002617"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.624908" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.624958" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.593865" elapsed="0.031119"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.626848" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.625089" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.625066" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.626964" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:13.627168" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.627213" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.562560" elapsed="0.064691"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.629440" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.627822" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.627804" elapsed="0.001706"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.630084" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.629658" elapsed="0.000454"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.630648" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.630292" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.630725" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.630905" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.627482" elapsed="0.003449"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.631089" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.561901" elapsed="0.069669"/>
</kw>
<arg>f109.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.511211" elapsed="0.120416"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.504250" elapsed="0.127504"/>
</test>
<test id="s1-s3-s1-t97" name="Test Is Flow 110 Updated" line="257">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.642881" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.643056" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.642735" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.643693" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4cc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.643256" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.644162" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.643876" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.644631" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.644360" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.645078" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.644808" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.646010" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.645296" elapsed="0.000759"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.646569" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.646217" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.647145" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.646820" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.647687" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.647358" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.648198" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.647883" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.648731" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.648412" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.649261" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4cc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.648927" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.642400" elapsed="0.006960"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.649895" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.649510" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.650362" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.650095" elapsed="0.000329"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.658446" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.658121" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.663917" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.664702" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '773'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.664855" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.658603" elapsed="0.006289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.665544" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.665119" elapsed="0.000497"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.668694" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;233&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.665824" elapsed="0.003018"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.671484" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.668954" elapsed="0.002605"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.668921" elapsed="0.002671"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.675631" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.675687" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.671792" elapsed="0.003919"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.677512" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.675789" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.675770" elapsed="0.001823"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.677627" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:13.677831" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.677876" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.657782" elapsed="0.020116"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.680108" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.678509" elapsed="0.001647"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.678491" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.680812" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.680360" elapsed="0.000479"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.681372" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.681004" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.681448" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:13.681634" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.678148" elapsed="0.003511"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.681819" elapsed="0.000460"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.657196" elapsed="0.025150"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.690526" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.690194" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.705180" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.705804" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.706336" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.690688" elapsed="0.015688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.706968" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.706606" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.710476" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.707250" elapsed="0.004502"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.714358" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.711856" elapsed="0.002571"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.711827" elapsed="0.002632"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.745738" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.745787" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.714657" elapsed="0.031154"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.747697" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.745893" elapsed="0.001862"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.745874" elapsed="0.001907"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.747816" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:13.748019" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.748063" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.689779" elapsed="0.058306"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.750298" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.748675" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.748657" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.750937" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.750518" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.751501" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.751127" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.751578" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.751756" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.748334" elapsed="0.003447"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.751938" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.689120" elapsed="0.063291"/>
</kw>
<arg>f110.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.639036" elapsed="0.113433"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.632054" elapsed="0.120543"/>
</test>
<test id="s1-s3-s1-t98" name="Test Is Flow 113 Updated" line="259">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.763855" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.764029" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.763703" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.764689" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357ba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.764222" elapsed="0.000496"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.765165" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.764873" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.765639" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.765363" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.766139" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.765819" elapsed="0.000347"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.767123" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.766337" elapsed="0.000818"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.767676" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.767336" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.768271" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.767923" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.768804" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.768469" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.769344" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.768998" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.769866" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.769547" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.770594" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357ba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.770079" elapsed="0.000559"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.763319" elapsed="0.007377"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.771259" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.770854" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.771691" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.771446" elapsed="0.000309"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.779609" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.779181" elapsed="0.000455"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.785549" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.786290" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '948'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.786404" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.779767" elapsed="0.006662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.786884" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.786624" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.789836" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;236&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.787074" elapsed="0.002847"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.792501" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.790040" elapsed="0.002531"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.790009" elapsed="0.002594"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.796992" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.797057" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.792798" elapsed="0.004292"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.799651" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.797193" elapsed="0.002514"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.797167" elapsed="0.002564"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.799764" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:13.799962" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.800005" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.778862" elapsed="0.021165"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.802196" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.800590" elapsed="0.001668"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.800572" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.802831" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.802431" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.803389" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.803020" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.803465" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:13.803645" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.800254" elapsed="0.003416"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.803825" elapsed="0.000394"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.778300" elapsed="0.026000"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.812157" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.811858" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.828537" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.829674" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.830405" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.812329" elapsed="0.018138"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.831462" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.830834" elapsed="0.000734"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.837151" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.831889" elapsed="0.007401"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.841841" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.839398" elapsed="0.002513"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.839369" elapsed="0.002574"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.876451" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.876502" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.842160" elapsed="0.034366"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.878404" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.876613" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.876591" elapsed="0.001902"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.878528" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:13.878736" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:13.878780" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.811478" elapsed="0.067326"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.880992" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.879402" elapsed="0.001638"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.879383" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.881690" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.881216" elapsed="0.000504"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.882317" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.881887" elapsed="0.000459"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.882397" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:13.882581" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.879037" elapsed="0.003569"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.882764" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.810836" elapsed="0.072410"/>
</kw>
<arg>f113.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.759913" elapsed="0.123396"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.752910" elapsed="0.130530"/>
</test>
<test id="s1-s3-s1-t99" name="Test Is Flow 156 Updated" line="261">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:13.894694" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:13.894877" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:13.894535" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:13.895554" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2b10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:13.895076" elapsed="0.000507"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.896027" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.895738" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.896497" level="INFO">${flow_id} = 279</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.896206" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:13.896951" level="INFO">${flow_priority} = 156</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:13.896676" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.897920" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:13.897133" elapsed="0.000845"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.898510" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.898148" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.899106" level="INFO">${flow_id} = 279</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.898777" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.899654" level="INFO">${flow_priority} = 156</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.899324" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.900165" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.899850" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.900704" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.900381" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.901419" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2b10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:13.900902" elapsed="0.000564"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:13.894165" elapsed="0.007361"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.902157" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.901716" elapsed="0.000474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.902614" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;279&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
      &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;156&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;
    &lt;priority&gt;156&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.902363" elapsed="0.000315"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.910491" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.910159" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.916998" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.917853" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '762'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:13.918052" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.910649" elapsed="0.007441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.918696" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.918338" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.921823" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.918959" elapsed="0.003036"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.924613" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.922112" elapsed="0.002578"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.922077" elapsed="0.002649"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:13.928202" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:13.928263" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:13.924925" elapsed="0.003363"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:13.930077" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:13.928363" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.928344" elapsed="0.001813"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:13.930194" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:13.930417" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:13.930461" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 279 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.909810" elapsed="0.020674"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.932788" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.931041" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.931023" elapsed="0.001834"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.933436" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.933007" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.934079" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:13.933633" elapsed="0.000475"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:13.934160" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:13.934363" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:13.930700" elapsed="0.003689"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:13.934547" elapsed="0.000400"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.909180" elapsed="0.025832"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.942886" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:13.942584" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:13.956913" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:13.958012" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:13.958758" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:13.943043" elapsed="0.015782"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.959874" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.959216" elapsed="0.000768"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:13.966377" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:13.960359" elapsed="0.007096"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:13.969683" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:13.967546" elapsed="0.002199"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:13.967520" elapsed="0.002253"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.002335" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.002390" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:13.969985" elapsed="0.032430"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.004289" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.002509" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.002486" elapsed="0.001893"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.004416" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:14.004639" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.004686" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 279 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:13.942186" elapsed="0.062525"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.006966" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.005343" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.005323" elapsed="0.001716"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.007664" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.007195" elapsed="0.000497"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.008216" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.007858" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.008338" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:14.008537" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.004964" elapsed="0.003600"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.008724" elapsed="0.000409"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:13.941500" elapsed="0.067699"/>
</kw>
<arg>f156.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:13.890741" elapsed="0.118535"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:13.883743" elapsed="0.125665"/>
</test>
<test id="s1-s3-s1-t100" name="Test Is Flow 201 Updated" line="263">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.020430" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.020601" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.020278" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.021222" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0ca110&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.020786" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.021707" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.021422" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.022198" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.021921" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.022725" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.022394" elapsed="0.000360"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.023650" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.022909" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.024181" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.023843" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.024886" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.024450" elapsed="0.000499"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.025708" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.025173" elapsed="0.000603"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.026533" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.026040" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.027212" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.026798" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.027986" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0ca110&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.027494" elapsed="0.000558"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.019887" elapsed="0.008252"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.028921" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.028385" elapsed="0.000576"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.029467" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.029182" elapsed="0.000352"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.037642" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.037321" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.044153" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.045095" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '821'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.045276" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.037805" elapsed="0.007511"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.045944" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.045546" elapsed="0.000467"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.049084" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;324&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.046217" elapsed="0.002964"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.051924" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.049333" elapsed="0.002663"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.049296" elapsed="0.002733"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.055917" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.055965" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.052229" elapsed="0.003759"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.057794" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.056063" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.056045" elapsed="0.001876"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.057960" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:14.058167" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.058211" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.036979" elapsed="0.021270"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.060560" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.058802" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.058785" elapsed="0.001844"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.061185" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.060781" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.061757" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.061392" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.061833" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:14.062056" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.058469" elapsed="0.003613"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.062295" elapsed="0.000549"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.036391" elapsed="0.026542"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.072969" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.072660" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.083333" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.084369" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.085084" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.073128" elapsed="0.012023"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.086319" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.085592" elapsed="0.000837"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.092090" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.086756" elapsed="0.007528"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.096136" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.094368" elapsed="0.001824"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.094345" elapsed="0.001871"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.122185" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.122251" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.096391" elapsed="0.025886"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.124131" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.122366" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.122345" elapsed="0.001870"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.124265" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:14.124480" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.124524" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.072277" elapsed="0.052270"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.126803" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.125144" elapsed="0.001706"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.125126" elapsed="0.001746"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.127490" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.127025" elapsed="0.000493"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.128031" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.127681" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.128107" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:14.128302" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.124796" elapsed="0.003532"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.128486" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.071618" elapsed="0.057334"/>
</kw>
<arg>f201.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.016539" elapsed="0.112471"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.009612" elapsed="0.119527"/>
</test>
<test id="s1-s3-s1-t101" name="Test Is Flow 202 Updated" line="265">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.140161" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.140343" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.140004" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.140953" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db133d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.140526" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.141434" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.141133" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.141907" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.141613" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.142370" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.142084" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.143267" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.142546" elapsed="0.000753"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.143791" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.143458" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.144385" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.144041" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.144914" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.144584" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.145443" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.145110" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.146007" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.145643" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.146556" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db133d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.146212" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.139671" elapsed="0.006982"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.147186" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.146804" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.147627" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.147383" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.155591" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.155281" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.163941" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.165700" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '821'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.166020" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.155747" elapsed="0.010335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.167126" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.166515" elapsed="0.000751"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.171790" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;325&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.167616" elapsed="0.004281"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.175058" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.172026" elapsed="0.003116"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.171988" elapsed="0.003187"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.179848" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.179915" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.175457" elapsed="0.004491"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.182555" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.180054" elapsed="0.002558"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.180027" elapsed="0.002611"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.182672" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:14.182879" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.182923" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.154947" elapsed="0.027999"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.185508" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.183714" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.183696" elapsed="0.001882"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.186185" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.185733" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.186761" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.186400" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.186837" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:14.187047" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.183206" elapsed="0.003869"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.187251" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.154381" elapsed="0.033338"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.195747" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.195435" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.211391" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.212347" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.212999" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.195907" elapsed="0.017152"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.214082" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.213467" elapsed="0.000718"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.219166" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.214538" elapsed="0.005941"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.223110" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.220583" elapsed="0.002597"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.220554" elapsed="0.002659"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.306284" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.306354" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.223429" elapsed="0.082951"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.308389" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.306512" elapsed="0.001939"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.306481" elapsed="0.001997"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.308517" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:14.308737" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.308783" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.195025" elapsed="0.113782"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.311057" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.309443" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.309424" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.311756" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.311294" elapsed="0.000490"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.312383" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.311987" elapsed="0.000423"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.312461" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:14.312644" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.309062" elapsed="0.003607"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.312828" elapsed="0.000422"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.194342" elapsed="0.118973"/>
</kw>
<arg>f202.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.136395" elapsed="0.176979"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.129459" elapsed="0.184043"/>
</test>
<test id="s1-s3-s1-t102" name="Test Is Flow 203 Updated" line="267">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.324597" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.324768" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.324443" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.325461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.324961" elapsed="0.000532"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.325989" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.325652" elapsed="0.000365"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.326469" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.326173" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.326927" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.326651" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.327854" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.327105" elapsed="0.000782"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.328419" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.328053" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.329228" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.328699" elapsed="0.000597"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.329826" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.329460" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.330377" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.330032" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.330911" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.330584" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.331461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.331114" elapsed="0.000390"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.324081" elapsed="0.007481"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.332137" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.331716" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.332592" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.332344" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.340433" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.340108" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.347047" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.347723" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '822'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.347836" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.340590" elapsed="0.007272"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.348302" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.348028" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.350607" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;326&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.348493" elapsed="0.002174"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.352547" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.350745" elapsed="0.001856"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.350722" elapsed="0.001903"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.357411" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.357485" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.352765" elapsed="0.004757"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.360667" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.357643" elapsed="0.003127"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.357613" elapsed="0.003202"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.360867" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:14.361160" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.361227" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.339791" elapsed="0.021500"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.364632" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.362144" elapsed="0.002554"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.362118" elapsed="0.002611"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.365554" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.364941" elapsed="0.000654"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.366351" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.365880" elapsed="0.000498"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.366427" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:14.366607" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.361632" elapsed="0.005000"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.366788" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.339198" elapsed="0.028066"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.375119" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.374813" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.390508" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.391752" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.392536" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.375291" elapsed="0.017318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.393875" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.393054" elapsed="0.000957"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.398302" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.394345" elapsed="0.005005"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.401819" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.399457" elapsed="0.002432"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.399425" elapsed="0.002496"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.437459" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.437524" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.402118" elapsed="0.035437"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.440151" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.437671" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.437641" elapsed="0.002640"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.440331" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:14.440602" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.440659" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.374430" elapsed="0.066258"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.445086" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.441518" elapsed="0.003678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.441491" elapsed="0.003783"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.446718" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.445625" elapsed="0.001206"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.448190" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.447270" elapsed="0.001016"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.448405" elapsed="0.000067"/>
</return>
<msg time="2026-05-25T00:36:14.448875" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.441015" elapsed="0.007951"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.449428" elapsed="0.000986"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.373758" elapsed="0.076800"/>
</kw>
<arg>f203.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.320747" elapsed="0.129936"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.313847" elapsed="0.137098"/>
</test>
<test id="s1-s3-s1-t103" name="Test Is Flow 204 Updated" line="269">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.467111" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.467331" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.466938" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.468058" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.467564" elapsed="0.000523"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.468562" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.468267" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.469020" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.468745" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.469501" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.469202" elapsed="0.000325"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.470678" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.469679" elapsed="0.001045"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.471499" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.470966" elapsed="0.000598"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.472402" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.471894" elapsed="0.000574"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.473181" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.472697" elapsed="0.000571"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.473987" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.473495" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.474784" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.474306" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.475580" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.475078" elapsed="0.000565"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.466536" elapsed="0.009195"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.476576" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.475960" elapsed="0.000662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.477212" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.476847" elapsed="0.000481"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.487197" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.486853" elapsed="0.000373"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.492898" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.494453" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '822'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.494730" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.487385" elapsed="0.007405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.495844" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.495195" elapsed="0.000755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.500312" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;327&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.496311" elapsed="0.004118"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.503635" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.500558" elapsed="0.003159"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.500521" elapsed="0.003230"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.508906" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.508979" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.503987" elapsed="0.005030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.512003" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.509138" elapsed="0.002958"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.509108" elapsed="0.003028"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.512192" elapsed="0.000076"/>
</return>
<msg time="2026-05-25T00:36:14.512546" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.512613" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.486503" elapsed="0.026144"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.517876" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.513679" elapsed="0.004307"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.513648" elapsed="0.004389"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.519393" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.518416" elapsed="0.001038"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.520631" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.519817" elapsed="0.000874"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.520799" elapsed="0.000066"/>
</return>
<msg time="2026-05-25T00:36:14.521201" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.513044" elapsed="0.008243"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.521636" elapsed="0.000845"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.485852" elapsed="0.036723"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.534483" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.534105" elapsed="0.000408"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.550387" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.551391" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.552110" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.534654" elapsed="0.017517"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.553300" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.552641" elapsed="0.000766"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.558627" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.553769" elapsed="0.005973"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.561625" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.559838" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.559810" elapsed="0.001923"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.587038" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.587105" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.561895" elapsed="0.025236"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.589132" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.587277" elapsed="0.001918"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.587228" elapsed="0.001996"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.589279" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:14.589498" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.589544" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.533466" elapsed="0.056102"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.591825" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.590211" elapsed="0.001661"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.590192" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.592529" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.592048" elapsed="0.000510"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.593079" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.592723" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.593156" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:14.593361" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.589843" elapsed="0.003545"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.593548" elapsed="0.000424"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.532412" elapsed="0.061625"/>
</kw>
<arg>f204.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.462861" elapsed="0.131236"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.451684" elapsed="0.142539"/>
</test>
<test id="s1-s3-s1-t104" name="Test Is Flow 205 Updated" line="271">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.605413" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.605598" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.605252" elapsed="0.000375"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.606321" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3a60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.605817" elapsed="0.000532"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.606793" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.606505" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.607261" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.606973" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.607713" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.607442" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.608697" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.607890" elapsed="0.000838"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.609250" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.608891" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.609885" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.609521" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.610431" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.610083" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.610944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.610627" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.611482" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.611142" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.612200" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3a60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.611680" elapsed="0.000580"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.604879" elapsed="0.007442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.612890" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.612477" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.613341" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.613075" elapsed="0.000332"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.621358" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.621014" elapsed="0.000372"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.628086" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.629808" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '949'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.630081" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.621522" elapsed="0.008618"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.631307" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.630665" elapsed="0.000750"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.636354" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.631740" elapsed="0.004755"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.639372" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.636666" elapsed="0.002762"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.636616" elapsed="0.002836"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.642924" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.642979" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.639610" elapsed="0.003394"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.645098" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.643104" elapsed="0.002052"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.643077" elapsed="0.002105"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.645218" elapsed="0.000054"/>
</return>
<msg time="2026-05-25T00:36:14.645483" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.645530" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.620684" elapsed="0.024869"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.647801" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.646184" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.646166" elapsed="0.001706"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.648505" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.648025" elapsed="0.000508"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.649056" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.648699" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.649134" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:14.649339" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.645823" elapsed="0.003542"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.649525" elapsed="0.000469"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.620066" elapsed="0.029995"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.658513" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.658064" elapsed="0.000479"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.674884" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.675892" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.676617" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.658685" elapsed="0.017994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.677881" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.677114" elapsed="0.000873"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.681841" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.678288" elapsed="0.005116"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.686226" elapsed="0.000046"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.683529" elapsed="0.002797"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.683493" elapsed="0.002868"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.712057" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.712128" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.686592" elapsed="0.025563"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.714310" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.712308" elapsed="0.002076"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.712277" elapsed="0.002138"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.714455" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:14.714683" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.714730" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.657402" elapsed="0.057352"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.717097" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.715486" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.715467" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.717823" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.717340" elapsed="0.000512"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.718399" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.718020" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.718476" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:14.718659" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.715016" elapsed="0.003669"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.718845" elapsed="0.000427"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.656700" elapsed="0.062639"/>
</kw>
<arg>f205.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.601516" elapsed="0.117885"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.594619" elapsed="0.125609"/>
</test>
<test id="s1-s3-s1-t105" name="Test Is Flow 206 Updated" line="273">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.732058" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.732296" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.731885" elapsed="0.000443"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.733037" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a94e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.732517" elapsed="0.000550"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.733541" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.733228" elapsed="0.000340"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.734015" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.733739" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.734492" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.734196" elapsed="0.000323"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.735504" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.734673" elapsed="0.000862"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.738858" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.735702" elapsed="0.003205"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.739542" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.739170" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.740069" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.739740" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.740600" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.740279" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.741120" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.740798" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.741692" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a94e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.741333" elapsed="0.000403"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.731520" elapsed="0.010278"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.742402" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.741956" elapsed="0.000478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.742929" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.742642" elapsed="0.000356"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.751129" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.750765" elapsed="0.000393"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.758531" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.760221" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '947'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.760660" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.751320" elapsed="0.009403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.762259" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.761373" elapsed="0.000959"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.765600" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.762542" elapsed="0.003177"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.768342" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.765844" elapsed="0.002578"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.765806" elapsed="0.002650"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.773015" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.773081" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.768660" elapsed="0.004454"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.775734" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.773220" elapsed="0.002594"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.773193" elapsed="0.002656"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.775897" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:14.776189" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.776272" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.750421" elapsed="0.025887"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.779343" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.777137" elapsed="0.002257"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.777111" elapsed="0.002306"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.780017" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.779578" elapsed="0.000466"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.780578" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.780208" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.780654" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:14.780837" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.776645" elapsed="0.004217"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.781023" elapsed="0.000421"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.749745" elapsed="0.031762"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.789567" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.789085" elapsed="0.000509"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.805014" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.806274" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;fal... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.807076" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.789765" elapsed="0.017378"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.808425" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.807651" elapsed="0.000890"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.815629" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;375000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;411000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;899000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;481000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;518000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;979000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;554000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;17000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;58000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;383000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;247000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;423000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;277000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;460000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;499000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;535000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;575000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;609000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;342000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;681000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;711000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;749000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;224000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;785000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;46000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;857000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;888000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;926000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;963000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;0&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;151000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;184000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;150000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;188000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;675000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.808902" elapsed="0.009293"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.820382" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.818352" elapsed="0.002114"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.818312" elapsed="0.002189"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.849705" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.849776" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.820767" elapsed="0.029035"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.852142" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.849940" elapsed="0.002266"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.849907" elapsed="0.002344"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.852295" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:14.852524" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.852570" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.788705" elapsed="0.063889"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.855087" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.853312" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.853291" elapsed="0.001881"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.855823" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.855347" elapsed="0.000505"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.856407" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.856024" elapsed="0.000422"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.856523" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:14.856732" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.852911" elapsed="0.003848"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.856923" elapsed="0.000475"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.788056" elapsed="0.069409"/>
</kw>
<arg>f206.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.728073" elapsed="0.129452"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.720921" elapsed="0.136754"/>
</test>
<test id="s1-s3-s1-t106" name="Test Is Flow 209 Updated" line="275">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.869012" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.869211" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.868863" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.869939" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.869427" elapsed="0.000542"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.870441" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.870129" elapsed="0.000340"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.870907" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.870626" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.871383" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.871088" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.872357" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.871567" elapsed="0.000822"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.872916" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.872553" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.873567" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.873188" elapsed="0.000471"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.874158" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.873820" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.874695" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.874374" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.875215" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.874893" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.875753" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.875431" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.868513" elapsed="0.007340"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.876449" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.876003" elapsed="0.000478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.876881" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.876636" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.884939" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.884625" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.891467" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.892132" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '844'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:14.892274" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.885101" elapsed="0.007201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.892757" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.892482" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.895437" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;332&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.892996" elapsed="0.002528"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.898230" elapsed="0.000049"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.895630" elapsed="0.002700"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.895599" elapsed="0.002764"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.902933" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.903002" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:14.898567" elapsed="0.004468"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.905642" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.903143" elapsed="0.002582"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.903116" elapsed="0.002645"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.905810" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:14.906091" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:14.906153" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.884301" elapsed="0.021884"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.911073" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.906781" elapsed="0.004340"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.906763" elapsed="0.004381"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.911742" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.911321" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.912317" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.911937" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.912403" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:14.912593" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.906438" elapsed="0.006182"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.912781" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.883713" elapsed="0.029563"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.921520" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:14.921190" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:14.935508" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:14.939499" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:14.940334" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:14.921707" elapsed="0.018698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.941663" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.940875" elapsed="0.000911"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.947127" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.942152" elapsed="0.005916"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.949996" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.948181" elapsed="0.001870"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.948153" elapsed="0.001921"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.973377" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:14.973427" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:14.950221" elapsed="0.023231"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:14.975470" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:14.973571" elapsed="0.001959"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.973523" elapsed="0.002033"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:14.975592" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:14.975814" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:14.975859" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:14.920802" elapsed="0.055081"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:14.978133" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:14.976494" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:14.976475" elapsed="0.001729"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.978868" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.978375" elapsed="0.000522"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.979456" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.979067" elapsed="0.000417"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:14.979536" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:14.979724" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:14.976127" elapsed="0.003623"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:14.979913" elapsed="0.000426"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:14.920151" elapsed="0.060256"/>
</kw>
<arg>f209.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.864922" elapsed="0.115545"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.858002" elapsed="0.122592"/>
</test>
<test id="s1-s3-s1-t107" name="Test Is Flow 214 Updated" line="277">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:14.991726" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:14.991898" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:14.991579" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:14.992529" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:14.992087" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.993000" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.992712" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.993482" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.993186" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:14.993965" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:14.993687" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:14.994836" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:14.994145" elapsed="0.000722"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.995380" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.995028" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.995969" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.995637" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.996522" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.996167" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.997040" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.996720" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.997628" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.997255" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.998161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:14.997833" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:14.991211" elapsed="0.007068"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.998823" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:14.998433" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:14.999281" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:14.999008" elapsed="0.000335"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.007293" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.006964" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.013496" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.015045" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '671'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.015371" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.007454" elapsed="0.007981"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.016609" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.015902" elapsed="0.000815"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.021839" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;337&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.017048" elapsed="0.005029"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.024910" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.022264" elapsed="0.002725"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.022199" elapsed="0.002825"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.029592" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.029663" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.025259" elapsed="0.004439"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.032524" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.029812" elapsed="0.002794"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.029784" elapsed="0.002858"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.032690" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:15.032984" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.033048" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.006642" elapsed="0.026439"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.035667" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.033963" elapsed="0.001752"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.033938" elapsed="0.001800"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.036334" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.035893" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.036883" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.036526" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.036960" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:15.037141" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.033431" elapsed="0.003737"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.037347" elapsed="0.000416"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.006054" elapsed="0.031776"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.045901" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.045588" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.060595" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.061732" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.062487" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.046062" elapsed="0.016488"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.063656" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.062986" elapsed="0.000773"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.069280" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.064077" elapsed="0.006707"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.072652" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.070876" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.070850" elapsed="0.001880"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.101295" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.101347" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.072874" elapsed="0.028496"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.103224" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.101489" elapsed="0.001806"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.101464" elapsed="0.001858"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.103357" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:15.103570" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.103614" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.045158" elapsed="0.058478"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.105853" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.104229" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.104211" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.106522" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.106076" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.107076" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.106717" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.107152" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:15.107351" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.103881" elapsed="0.003496"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.107535" elapsed="0.000438"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.044524" elapsed="0.063517"/>
</kw>
<arg>f214.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:14.987827" elapsed="0.120274"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:14.980805" elapsed="0.127421"/>
</test>
<test id="s1-s3-s1-t108" name="Test Is Flow 218 Updated" line="279">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.119462" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.119629" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.119305" elapsed="0.000353"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.120381" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f470&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.119830" elapsed="0.000591"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.121064" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.120647" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.121771" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.121352" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.122427" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.122019" elapsed="0.000446"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.123646" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.122651" elapsed="0.001038"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.124312" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.123915" elapsed="0.000441"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.124921" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.124589" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.125473" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.125119" elapsed="0.000469"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.126085" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.125755" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.126628" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.126302" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.127153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f470&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.126826" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.118915" elapsed="0.008356"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.127821" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.127427" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.128277" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.128006" elapsed="0.000329"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.136329" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.135998" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.144297" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.144540" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '563'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.144732" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.136489" elapsed="0.008281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.145650" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.145084" elapsed="0.000633"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.148778" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;341&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.145920" elapsed="0.002939"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.151757" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.149053" elapsed="0.002785"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.149019" elapsed="0.002854"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.156123" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.156193" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.152086" elapsed="0.004142"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.159359" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.156379" elapsed="0.003054"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.156344" elapsed="0.003125"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.159517" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:15.159792" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.159854" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.135678" elapsed="0.024208"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.162880" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.160675" elapsed="0.002266"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.160651" elapsed="0.002315"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.163614" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.163127" elapsed="0.000515"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.164164" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.163808" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.164255" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:15.164442" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.160210" elapsed="0.004258"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.164626" elapsed="0.000407"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.135042" elapsed="0.030067"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.173152" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.172825" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.187703" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.188390" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.188890" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.173334" elapsed="0.015598"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.189784" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.189296" elapsed="0.000557"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.193546" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.190166" elapsed="0.004673"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.198693" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.194958" elapsed="0.003791"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.194924" elapsed="0.003849"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.227312" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.227364" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.198919" elapsed="0.028469"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.229282" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.227477" elapsed="0.001865"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.227456" elapsed="0.001914"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.229406" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:15.229637" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.229682" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.172441" elapsed="0.057264"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.231915" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.230323" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.230304" elapsed="0.001682"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.232591" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.232141" elapsed="0.000479"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.233145" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.232787" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.233226" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:15.233429" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.229950" elapsed="0.003524"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.233635" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.171784" elapsed="0.062320"/>
</kw>
<arg>f218.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.115380" elapsed="0.118784"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.108439" elapsed="0.125866"/>
</test>
<test id="s1-s3-s1-t109" name="Test Is Flow 219 Updated" line="281">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.245550" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.245718" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.245385" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.246343" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfdd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.245901" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.246810" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.246525" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.247280" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.246988" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.247729" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.247459" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.248589" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.247905" elapsed="0.000715"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.249112" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.248778" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.249734" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.249374" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.250282" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.249934" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.250801" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.250480" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.251341" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.251002" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.251865" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfdd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.251542" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.245034" elapsed="0.006930"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.252523" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.252116" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.252956" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.252708" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.260823" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.260513" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.266962" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.267827" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '643'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.267980" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.260980" elapsed="0.007029"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.268594" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.268260" elapsed="0.000382"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.271191" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;342&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.268788" elapsed="0.002586"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.273980" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.271493" elapsed="0.002564"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.271459" elapsed="0.002631"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.279680" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.279753" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.274316" elapsed="0.005471"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.282375" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.279912" elapsed="0.002544"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.279880" elapsed="0.002611"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.282540" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:15.282827" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.282889" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.260179" elapsed="0.022741"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.285999" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.283764" elapsed="0.002299"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.283740" elapsed="0.002354"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.286920" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.286323" elapsed="0.000634"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.287703" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.287187" elapsed="0.000554"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.287811" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:15.288065" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.283275" elapsed="0.004827"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.288354" elapsed="0.000556"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.259616" elapsed="0.029386"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.297246" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.296926" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.312287" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.313524" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.314340" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.297411" elapsed="0.017000"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.315739" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.314887" elapsed="0.000979"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.320821" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.316268" elapsed="0.005895"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.324800" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.322306" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.322271" elapsed="0.002635"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.354599" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.354650" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.325110" elapsed="0.029564"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.356528" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.354759" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.354738" elapsed="0.001876"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.356649" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:15.356864" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.356910" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.296545" elapsed="0.060388"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.359188" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.357576" elapsed="0.001678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.357557" elapsed="0.001722"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.359875" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.359437" elapsed="0.000466"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.360448" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.360071" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.360525" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:15.360706" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.357177" elapsed="0.003554"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.360890" elapsed="0.000422"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.295884" elapsed="0.065494"/>
</kw>
<arg>f219.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.241615" elapsed="0.119855"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.234519" elapsed="0.127082"/>
</test>
<test id="s1-s3-s1-t110" name="Test Is Flow 220 Updated" line="283">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.372676" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.372844" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.372530" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.373466" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.373028" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.373933" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.373649" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.374400" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.374112" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.374847" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.374576" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.375645" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.375022" elapsed="0.000654"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.376173" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.375836" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.376768" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.376436" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.377316" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.376966" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.377856" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.377534" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.378396" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.378057" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.378922" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.378597" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.372176" elapsed="0.006845"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.379582" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.379174" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.380014" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.379767" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.387866" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.387555" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.393572" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.393719" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '658'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.393826" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.388027" elapsed="0.005826"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.394302" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.394018" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.396670" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;343&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.394495" elapsed="0.002279"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.398669" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.396852" elapsed="0.001870"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.396829" elapsed="0.001917"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.401688" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.401735" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.398888" elapsed="0.002870"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.404120" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.401834" elapsed="0.002364"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.401815" elapsed="0.002438"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.404304" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:15.404584" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.404645" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.387213" elapsed="0.017464"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.407760" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.405515" elapsed="0.002311"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.405490" elapsed="0.002368"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.408661" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.408067" elapsed="0.000631"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.409469" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.408926" elapsed="0.000580"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.409575" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:15.409829" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.404981" elapsed="0.004884"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.410083" elapsed="0.000569"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.386647" elapsed="0.024095"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.419639" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.419332" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.435335" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.436385" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.437126" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.419799" elapsed="0.017391"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.438433" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.437774" elapsed="0.000726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.442701" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.438707" elapsed="0.005362"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.446775" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.444199" elapsed="0.002653"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.444161" elapsed="0.002724"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.475054" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.475103" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.447088" elapsed="0.028038"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.476990" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.475210" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.475189" elapsed="0.001886"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.477109" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:15.477344" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.477405" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.418920" elapsed="0.058508"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.479667" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.478055" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.478037" elapsed="0.001699"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.480333" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.479892" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.480879" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.480526" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.480955" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:15.481133" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.477696" elapsed="0.003462"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.481333" elapsed="0.000423"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.418286" elapsed="0.063535"/>
</kw>
<arg>f220.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.368718" elapsed="0.113162"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.361806" elapsed="0.120208"/>
</test>
<test id="s1-s3-s1-t111" name="Test Is Flow 221 Updated" line="285">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.493141" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.493322" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.492993" elapsed="0.000358"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.493941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbec0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.493521" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.494461" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.494125" elapsed="0.000365"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.494918" level="INFO">${flow_id} = 344</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.494644" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.495388" level="INFO">${flow_priority} = 221</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.495097" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.496230" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.495567" elapsed="0.000712"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.496777" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.496441" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.497397" level="INFO">${flow_id} = 344</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.497021" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.497934" level="INFO">${flow_priority} = 221</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.497600" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.498464" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.498130" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.498984" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.498664" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.499520" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbec0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.499182" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.492652" elapsed="0.006967"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.500159" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.499772" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.500602" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;344&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;221&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;
    &lt;priority&gt;221&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.500357" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.508471" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.508141" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.514771" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.515319" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '643'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.515429" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.508630" elapsed="0.006825"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.515876" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.515618" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.518206" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;344&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.516066" elapsed="0.002251"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.520140" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.518394" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.518372" elapsed="0.001842"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.523447" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.523513" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.520373" elapsed="0.003173"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.526093" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.523650" elapsed="0.002522"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.523624" elapsed="0.002584"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.526276" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:15.526553" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.526615" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 344 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.507822" elapsed="0.018824"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.529814" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.527583" elapsed="0.002296"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.527558" elapsed="0.002352"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.530698" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.530116" elapsed="0.000619"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.531471" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.530960" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.531577" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:15.531823" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.526944" elapsed="0.004915"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.532076" elapsed="0.000565"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.507252" elapsed="0.025476"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.540982" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.540682" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.556154" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.557141" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.557869" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.541139" elapsed="0.016792"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.558995" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.558365" elapsed="0.000736"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.563995" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.559469" elapsed="0.005829"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.567905" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.565429" elapsed="0.002550"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.565396" elapsed="0.002616"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.601064" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.601119" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.568213" elapsed="0.032931"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.603147" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.601259" elapsed="0.001948"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.601219" elapsed="0.002029"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.603288" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:15.603507" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.603551" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 344 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.540303" elapsed="0.063271"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.605825" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.604195" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.604177" elapsed="0.001717"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.606519" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.606049" elapsed="0.000498"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.607066" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.606711" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.607142" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:15.607340" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.603834" elapsed="0.003532"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.607525" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.539666" elapsed="0.068327"/>
</kw>
<arg>f221.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.489228" elapsed="0.118823"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.482223" elapsed="0.125958"/>
</test>
<test id="s1-s3-s1-t112" name="Test Is Flow 222 Updated" line="287">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.619177" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.619380" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.619031" elapsed="0.000379"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.619962" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.619564" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.620450" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.620145" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.620897" level="INFO">${flow_id} = 345</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.620627" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.621392" level="INFO">${flow_priority} = 222</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.621073" elapsed="0.000347"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.622099" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.621570" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.622638" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.622306" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.623204" level="INFO">${flow_id} = 345</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.622879" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.623747" level="INFO">${flow_priority} = 222</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.623421" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.624267" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.623940" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.624777" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.624462" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.625307" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.624972" elapsed="0.000395"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.618693" elapsed="0.006727"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.625946" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.625568" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.626381" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;id&gt;345&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.626125" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.634333" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.634006" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.640644" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.641066" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '433'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.641172" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.634493" elapsed="0.006704"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.641677" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.641419" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.643844" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;345&lt;/id&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.641867" elapsed="0.002032"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.645732" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.643970" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.643950" elapsed="0.001856"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.648516" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.648563" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.645982" elapsed="0.002604"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.650479" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.648661" elapsed="0.001895"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.648642" elapsed="0.001950"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.650639" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:15.650910" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.650972" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 345 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.633685" elapsed="0.017319"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.654055" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.651792" elapsed="0.002328"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.651768" elapsed="0.002383"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.654943" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.654384" elapsed="0.000597"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.655723" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.655207" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.655828" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:15.656078" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.651325" elapsed="0.004788"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.656353" elapsed="0.000543"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.633092" elapsed="0.023893"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.672133" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.671817" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.687356" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.687990" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.688710" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.672324" elapsed="0.016455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.689949" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.689199" elapsed="0.000860"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.696075" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.690439" elapsed="0.007835"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.700125" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.698357" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.698335" elapsed="0.001867"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.731080" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.731130" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.700366" elapsed="0.030788"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.733005" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.731255" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.731218" elapsed="0.001872"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.733125" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:15.733407" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.733455" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 345 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.671422" elapsed="0.062056"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.735694" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.734061" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.734042" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.736365" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.735917" elapsed="0.000481"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.736928" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.736567" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.737005" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:15.737189" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.733715" elapsed="0.003501"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.737424" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.670749" elapsed="0.067143"/>
</kw>
<arg>f222.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.615303" elapsed="0.122647"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.608404" elapsed="0.129671"/>
</test>
<test id="s1-s3-s1-t113" name="Test Is Flow 223 Updated" line="289">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.749106" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.749321" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.748960" elapsed="0.000393"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.749922" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.749510" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.750416" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.750107" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.750890" level="INFO">${flow_id} = 346</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.750609" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.751361" level="INFO">${flow_priority} = 223</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.751070" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.752099" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.751542" elapsed="0.000587"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.752658" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.752312" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.753248" level="INFO">${flow_id} = 346</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.752901" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.753813" level="INFO">${flow_priority} = 223</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.753471" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.754349" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.754012" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.754886" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.754549" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.755430" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.755086" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.748621" elapsed="0.006908"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.756087" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.755687" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.756536" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;
        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;346&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.756288" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.764979" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.764639" elapsed="0.000368"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.772021" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.772530" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '547'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.772641" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.765144" elapsed="0.007523"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.773111" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.772833" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.775378" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;346&lt;/id&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.773347" elapsed="0.002089"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.777421" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.775574" elapsed="0.001904"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.775547" elapsed="0.001955"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.781026" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.781098" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.777647" elapsed="0.003489"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.783754" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.781288" elapsed="0.002547"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.781214" elapsed="0.002656"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.783917" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:15.784210" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.784295" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 346 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.764306" elapsed="0.020022"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.787048" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.785087" elapsed="0.002007"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.785062" elapsed="0.002055"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.787688" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.787283" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.788223" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.787875" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.788313" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:15.788491" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.784626" elapsed="0.003890"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.788673" elapsed="0.000392"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.763575" elapsed="0.025553"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.796971" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.796672" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.811715" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.812671" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.813408" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.797127" elapsed="0.016342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.814434" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.813830" elapsed="0.000707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.820004" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.814861" elapsed="0.007341"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.824074" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.822313" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.822293" elapsed="0.001855"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.911990" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.912060" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:15.824304" elapsed="0.087782"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.914199" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.912223" elapsed="0.002065"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.912191" elapsed="0.002125"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.914355" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:15.914576" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:15.914622" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 346 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.796295" elapsed="0.118350"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.916898" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.915293" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.915273" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.917624" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.917128" elapsed="0.000524"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.918172" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.917817" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.918264" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:15.918449" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.914908" elapsed="0.003567"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.918668" elapsed="0.000409"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.795659" elapsed="0.123481"/>
</kw>
<arg>f223.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.745315" elapsed="0.173885"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.738289" elapsed="0.181057"/>
</test>
<test id="s1-s3-s1-t114" name="Test Is Flow 224 Updated" line="291">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:15.930365" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:15.930572" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:15.930192" elapsed="0.000410"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:15.931203" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:15.930771" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.931692" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.931406" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.932142" level="INFO">${flow_id} = 347</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.931870" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:15.932608" level="INFO">${flow_priority} = 224</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:15.932336" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.933390" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:15.932785" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.933922" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.933581" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.934521" level="INFO">${flow_id} = 347</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.934179" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.935041" level="INFO">${flow_priority} = 224</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.934714" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.935564" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.935247" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.936079" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.935759" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.936618" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:15.936292" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:15.929843" elapsed="0.006876"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.937329" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.936870" elapsed="0.000491"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.937760" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;
        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;347&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.937513" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.945774" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.945456" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.951734" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.952289" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '607'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:15.952411" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.945937" elapsed="0.006501"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.952932" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.952636" elapsed="0.000342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.955202" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;347&lt;/id&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.953123" elapsed="0.002218"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.957179" elapsed="0.000081"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.955429" elapsed="0.001871"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.955403" elapsed="0.001920"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:15.960030" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:15.960077" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:15.957478" elapsed="0.002623"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:15.961937" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:15.960180" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.960161" elapsed="0.001860"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:15.962057" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:15.962287" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:15.962333" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 347 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.945098" elapsed="0.017259"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:15.964560" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:15.962958" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:15.962940" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.965300" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.964789" elapsed="0.000540"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.965846" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:15.965493" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:15.965922" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:15.966106" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:15.962606" elapsed="0.003526"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:15.966307" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.944513" elapsed="0.022265"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.975190" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:15.974833" elapsed="0.000389"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:15.991457" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:15.992421" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:15.993094" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:15.975383" elapsed="0.017769"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.994134" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.993572" elapsed="0.000689"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:15.999249" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:15.994581" elapsed="0.006209"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.003588" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.000903" elapsed="0.002761"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.000870" elapsed="0.002828"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.035212" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:16.035275" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:16.003906" elapsed="0.031394"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:16.037101" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:16.035381" elapsed="0.001776"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.035361" elapsed="0.001842"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:16.037250" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:16.037457" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:16.037502" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 347 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:15.974424" elapsed="0.063102"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.039694" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.038092" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.038074" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.040341" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.039913" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.040890" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.040532" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:16.040966" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:16.041148" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:16.037754" elapsed="0.003438"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:16.041368" elapsed="0.000398"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:15.973648" elapsed="0.068181"/>
</kw>
<arg>f224.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:15.926526" elapsed="0.115360"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:15.919557" elapsed="0.122453"/>
</test>
<test id="s1-s3-s1-t115" name="Test Is Flow 225 Updated" line="293">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.053070" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.053330" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.052910" elapsed="0.000450"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.053980" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.053538" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.054467" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.054166" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.054916" level="INFO">${flow_id} = 348</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.054646" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.055384" level="INFO">${flow_priority} = 225</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.055093" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.056126" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.055562" elapsed="0.000595"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.056680" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.056333" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.057309" level="INFO">${flow_id} = 348</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.056949" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.057836" level="INFO">${flow_priority} = 225</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.057506" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.058363" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.058030" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.058879" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.058560" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.059414" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.059075" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.052555" elapsed="0.006962"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.060077" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.059670" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.060523" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;
        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;348&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.060276" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.068803" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:16.068449" elapsed="0.000386"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.075125" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.075915" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '587'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:16.076097" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.068978" elapsed="0.007158"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.076897" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.076461" elapsed="0.000504"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.080306" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;348&lt;/id&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.077202" elapsed="0.003188"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.083271" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.080590" elapsed="0.002762"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.080551" elapsed="0.002835"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.087044" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:16.087092" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:16.083598" elapsed="0.003518"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:16.088923" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:16.087191" elapsed="0.001788"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.087172" elapsed="0.001833"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:16.089039" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:16.089277" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:16.089324" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 348 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:16.068079" elapsed="0.021269"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.091604" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.089929" elapsed="0.001723"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.089911" elapsed="0.001764"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.092261" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.091828" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.092812" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.092456" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:16.092888" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:16.093069" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:16.089584" elapsed="0.003512"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:16.093295" elapsed="0.000395"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:16.067398" elapsed="0.026357"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.101715" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:16.101408" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.116295" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.116874" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:16.117330" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.101877" elapsed="0.015492"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.117956" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.117598" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.121462" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.118221" elapsed="0.004531"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.125350" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.122853" elapsed="0.002567"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.122825" elapsed="0.002627"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.156654" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:16.156702" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:16.125649" elapsed="0.031076"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:16.158583" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:16.156804" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.156785" elapsed="0.001881"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:16.158699" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:16.158898" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:16.158943" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 348 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:16.100991" elapsed="0.057974"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.161180" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.159559" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.159540" elapsed="0.001725"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.161829" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.161417" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.162399" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.162024" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:16.162477" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:16.162662" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:16.159185" elapsed="0.003503"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:16.162848" elapsed="0.000407"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:16.100369" elapsed="0.062951"/>
</kw>
<arg>f225.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:16.049116" elapsed="0.114262"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:16.042204" elapsed="0.121302"/>
</test>
<test id="s1-s3-s1-t116" name="Test Is Flow 550 Updated" line="295">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.174449" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.174643" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.174304" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.175229" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357d30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.174827" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.175708" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.175425" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.176164" level="INFO">${flow_id} = 550</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.175888" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.176638" level="INFO">${flow_priority} = 550</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.176365" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.177504" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.176818" elapsed="0.000717"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.178034" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.177697" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.178633" level="INFO">${flow_id} = 550</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.178304" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.179158" level="INFO">${flow_priority} = 550</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.178830" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.179685" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.179368" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.180202" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.179883" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.180739" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357d30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.180416" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.173959" elapsed="0.006880"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.181447" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.180990" elapsed="0.000488"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.181874" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;
            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;
            &lt;extension&gt;
                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;
                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;
                &lt;/nxm-nx-tun-ipv4-src&gt;
            &lt;/extension&gt;
        &lt;/extension-list&gt;
    &lt;/match&gt;
    &lt;id&gt;550&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.181630" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.192231" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:16.191922" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.197717" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.198342" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '752'} 
 body=&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt; 
 </msg>
<msg time="2026-05-25T00:36:16.198506" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.192409" elapsed="0.006134"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.199124" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.198768" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.202196" level="INFO">&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;/flow&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.199410" elapsed="0.002933"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.204924" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.202451" elapsed="0.002545"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.202419" elapsed="0.002609"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.208906" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:16.208971" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-05-25T00:36:16.205263" elapsed="0.003740"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:16.211185" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:16.209151" elapsed="0.002106"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.209081" elapsed="0.002202"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:16.211318" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:16.211518" level="INFO">${presence_flow} = True</msg>
<msg time="2026-05-25T00:36:16.211561" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 550 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:16.191601" elapsed="0.019983"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.213767" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.212130" elapsed="0.001683"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.212112" elapsed="0.001724"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.214407" level="INFO">${msgf} = The flow is expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.213983" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.214949" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.214598" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:16.215024" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:16.215203" level="INFO">${msgf} = The flow is expected in config data store, but it is present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:16.211797" elapsed="0.003431"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:16.215401" elapsed="0.000389"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:16.191007" elapsed="0.024847"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.223689" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:16.223389" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.237260" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.237837" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barri... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:16.238225" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.223845" elapsed="0.014437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.239136" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.238508" elapsed="0.000693"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.242661" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;57&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;134&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;746000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf11&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;332&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;407000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;133&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;778000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf10&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;132&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf9&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;131&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf8&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;130&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;895000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf7&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;329&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;443000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;328&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;475000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;129&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;932000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;327&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;513000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;128&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf5&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;326&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;127&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;12000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf4&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;325&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;126&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf3&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;324&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;125&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf2&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;124&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;129000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf1&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;168&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf45&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;145&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;415000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf22&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;343&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;144&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;455000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf21&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;342&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/clear-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;143&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;493000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf20&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;341&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;341000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;142&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;532000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf19&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;141&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf18&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;140&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf17&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;139&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf16&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;337&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;138&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;676000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf15&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;137&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;714000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf14&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;233&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;743000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;232&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf109&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;154&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;256000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf31&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;231&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;817000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf108&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;550&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;550&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;&lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;&lt;extension&gt;&lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;&lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;&lt;/nxm-nx-tun-ipv4-src&gt;&lt;/extension&gt;&lt;/extension-list&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;230&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;855000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf107&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;229&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;889000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf106&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;228&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;920000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf105&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;227&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;958000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf104&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;348&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;225&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo225&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;&lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;117000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;226&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;995000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf103&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;347&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;224&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo224&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;&lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;152000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;148&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;296000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf25&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;225&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;32000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf102&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;346&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;223&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo223&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;&lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;183000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;147&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf24&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;224&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf101&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;345&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;222&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;flow-name&gt;Foo222&lt;/flow-name&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;0&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;216000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;146&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;374000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf23&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;344&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;221&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;248000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;221&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;166&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;143000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf43&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;161&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;out_port&gt;4294967295&lt;/out_port&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf38&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;out_group&gt;4294967295&lt;/out_group&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;159&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;220000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf36&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;236&lt;/id&gt;&lt;installHw&gt;false&lt;/installHw&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;707000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;openflow:1:0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;279&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;cookie&gt;156&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;672000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;priority&gt;156&lt;/priority&gt;&lt;cookie_mask&gt;255&lt;/cookie_mask&gt;&lt;flow-name&gt;FooXf156&lt;/flow-name&gt;&lt;strict&gt;false&lt;/strict&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;barrier&gt;false&lt;/barrier&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.239424" elapsed="0.004523"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.246561" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.244048" elapsed="0.002582"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.244020" elapsed="0.002643"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.276406" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:16.276455" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:16.246856" elapsed="0.029623"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:16.278344" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:16.276560" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.276540" elapsed="0.001889"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:16.278463" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:16.278665" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:16.278711" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 550 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:16.222978" elapsed="0.055756"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:16.280918" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:16.279315" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:16.279297" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.281592" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.281158" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.282146" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:16.281787" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:16.282223" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:16.282424" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:16.278955" elapsed="0.003496"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:16.282610" elapsed="0.000396"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:16.222358" elapsed="0.060712"/>
</kw>
<arg>f550.xml</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:16.170641" elapsed="0.112488"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:16.163703" elapsed="0.119567"/>
</test>
<test id="s1-s3-s1-t117" name="Test Delete Flows Group 0" line="297">
<for flavor="IN">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.284352" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.284086" elapsed="0.000311"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.287893" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.288048" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.287750" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.288641" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.288229" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.289143" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.288822" elapsed="0.000348"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.289612" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.289340" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.290057" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.289789" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.290839" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.290231" elapsed="0.000638"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.291366" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.291027" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.291925" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.291612" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.292450" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.292120" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.292949" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.292645" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.293513" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.293186" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.294017" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.293711" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.287417" elapsed="0.006697"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.308924" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.308969" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.309083" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.301478" elapsed="0.007632"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.311280" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.309291" elapsed="0.002033"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.301042" elapsed="0.010340"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.294283" elapsed="0.017152"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.283956" elapsed="0.027517"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.311951" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.311703" elapsed="0.000293"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.316091" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.316304" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.315900" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.317123" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140537c90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.316559" elapsed="0.000605"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.317787" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.317399" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.318441" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.318039" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.319071" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.318693" elapsed="0.000416"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.320154" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.319340" elapsed="0.000857"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.320892" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.320445" elapsed="0.000506"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.321722" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.321280" elapsed="0.000501"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.322401" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.321995" elapsed="0.000449"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.322903" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.322597" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.323427" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.323101" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.323937" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140537c90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.323627" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.315434" elapsed="0.008600"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.338846" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.338892" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.338983" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.331205" elapsed="0.007804"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.346146" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.339168" elapsed="0.007117"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.330821" elapsed="0.015601"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.324186" elapsed="0.022356"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.311575" elapsed="0.035052"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.347736" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.347137" elapsed="0.000700"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.355001" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.355137" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.354863" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.355725" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9a30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.355334" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.356184" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.355907" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.356652" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.356381" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.357124" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.356829" elapsed="0.000321"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.357892" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.357315" elapsed="0.000607"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.358422" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.358081" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.358968" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.358655" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.359500" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.359162" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.359999" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.359694" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.360521" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.360196" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.361031" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9a30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.360720" elapsed="0.000377"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.354526" elapsed="0.006627"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.375342" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.375405" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.375531" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.368325" elapsed="0.007242"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.378677" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.375784" elapsed="0.002954"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.367926" elapsed="0.010892"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.361318" elapsed="0.017572"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.346847" elapsed="0.032095"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.379633" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.379285" elapsed="0.000409"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.384520" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.384712" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.384325" elapsed="0.000427"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.385596" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3566b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.384966" elapsed="0.000672"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.386256" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.385849" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.386886" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.386508" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.387536" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.387130" elapsed="0.000443"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.388660" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.387782" elapsed="0.000920"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.389414" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.388923" elapsed="0.000551"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.390120" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.389687" elapsed="0.000569"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.390919" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.390475" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.391641" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.391192" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.392371" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.391918" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.393101" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3566b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.392647" elapsed="0.000514"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.383826" elapsed="0.009474"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.408668" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.408733" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.408861" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.401442" elapsed="0.007455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.412059" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.409147" elapsed="0.002973"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.401048" elapsed="0.011155"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.393567" elapsed="0.018737"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.379078" elapsed="0.033279"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.413068" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.412685" elapsed="0.000447"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.418022" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.418203" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.417834" elapsed="0.000429"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.419032" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa0c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.418475" elapsed="0.000597"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.419711" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.419304" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.420636" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.420031" elapsed="0.000648"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.421351" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.420916" elapsed="0.000472"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.422555" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.421622" elapsed="0.000976"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.423276" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.422816" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.423975" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.423550" elapsed="0.000482"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.424753" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.424317" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.425490" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.425047" elapsed="0.000507"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.426188" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.425765" elapsed="0.000506"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.426915" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa0c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.426484" elapsed="0.000490"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.417369" elapsed="0.009680"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.442699" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.442744" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.442835" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.434654" elapsed="0.008207"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.445134" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.443021" elapsed="0.002157"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.434274" elapsed="0.010978"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.427274" elapsed="0.018033"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.412500" elapsed="0.032844"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.445819" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.445571" elapsed="0.000292"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.449360" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.449565" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.449170" elapsed="0.000435"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.450390" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cae80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.449818" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.451027" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.450642" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.451672" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.451293" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.452319" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.451916" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.453471" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.452561" elapsed="0.000953"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.454210" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.453732" elapsed="0.000569"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.454952" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.454520" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.455733" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.455293" elapsed="0.000498"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.456443" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.456003" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.457166" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.456716" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.457896" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cae80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.457464" elapsed="0.000490"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.448804" elapsed="0.009226"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.472623" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.472686" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.472811" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.465898" elapsed="0.006949"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.475993" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.473091" elapsed="0.002962"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.465516" elapsed="0.010616"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.458260" elapsed="0.017945"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.445442" elapsed="0.030836"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.476938" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.476593" elapsed="0.000406"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.481729" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.481857" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.481595" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.482468" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3567a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.482045" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.482919" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.482646" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.483380" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.483094" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.483822" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.483554" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.484708" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.483995" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.485246" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.484897" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.485753" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.485445" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.486271" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.485944" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.486805" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.486502" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.487323" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.487000" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.487829" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3567a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.487521" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.481251" elapsed="0.006673"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.502654" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.502764" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.502995" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.494894" elapsed="0.008177"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.507546" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.503541" elapsed="0.004073"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.494513" elapsed="0.013194"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.488071" elapsed="0.019717"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.476414" elapsed="0.031430"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.508923" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.508207" elapsed="0.000880"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.517278" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.517479" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.516837" elapsed="0.000673"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.518146" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c95d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.517677" elapsed="0.000499"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.518642" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.518352" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.519097" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.518822" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.519566" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.519292" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.520744" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.519744" elapsed="0.001031"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.521381" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.520945" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.521909" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.521595" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.522434" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.522103" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.523007" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.522697" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.523533" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.523207" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.524040" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c95d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.523732" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.516020" elapsed="0.008121"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.538908" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.538987" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.539138" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.531343" elapsed="0.007834"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.542753" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.539487" elapsed="0.003333"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.530912" elapsed="0.012001"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.524313" elapsed="0.018679"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.508006" elapsed="0.035042"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.543803" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.543428" elapsed="0.000441"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.549140" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.549356" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.548889" elapsed="0.000497"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.549998" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc6d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.549542" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.550484" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.550184" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.550934" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.550664" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.551396" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.551109" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.552367" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.551573" elapsed="0.000825"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.552888" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.552559" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.553442" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.553112" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.553948" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.553637" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.554528" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.554206" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.555037" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.554727" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.555561" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc6d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.555249" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.548375" elapsed="0.007286"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.569616" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.569666" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.569772" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.562758" elapsed="0.007041"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.572217" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.569979" elapsed="0.002298"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.562338" elapsed="0.010000"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.555816" elapsed="0.016577"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.543208" elapsed="0.029224"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.572932" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.572679" elapsed="0.000336"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.578134" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.578383" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.577927" elapsed="0.000498"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.579312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcd10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.578650" elapsed="0.000707"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.579995" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.579584" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.580675" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.580277" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.581373" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.580933" elapsed="0.000479"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.582765" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.581631" elapsed="0.001179"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.583541" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.583042" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.584304" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.583827" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.585159" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.584588" elapsed="0.000644"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.585727" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.585416" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.586314" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.585986" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.586819" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcd10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.586513" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.577426" elapsed="0.009490"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.601252" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.601307" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.601413" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.593927" elapsed="0.007513"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.603814" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.601626" elapsed="0.002234"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.593482" elapsed="0.010440"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.587066" elapsed="0.016912"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.572546" elapsed="0.031471"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.604539" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.604284" elapsed="0.000300"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.608091" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.608279" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.607946" elapsed="0.000364"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.608931" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de7f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.608462" elapsed="0.001234"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.610146" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.609858" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.610626" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.610352" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.611073" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.610802" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.612040" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.611263" elapsed="0.000807"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.612579" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.612231" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.613104" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.612774" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.613623" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.613311" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.614175" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.613814" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.614769" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.614456" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.615293" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de7f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.614965" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.607598" elapsed="0.007795"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.631071" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.631132" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.631287" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.622671" elapsed="0.008646"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.633841" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.631537" elapsed="0.002349"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.622047" elapsed="0.011902"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.615544" elapsed="0.018460"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.604132" elapsed="0.029911"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.634565" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.634311" elapsed="0.000299"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.638091" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.638279" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.637948" elapsed="0.000364"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.638922" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dd50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.638470" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.639404" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.639107" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.639852" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.639581" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.640314" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.640027" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.641310" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.640490" elapsed="0.000851"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.641833" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.641502" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.642352" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.642027" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.642858" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.642546" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.643372" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.643048" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.643946" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.643630" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.644478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dd50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.644146" elapsed="0.000375"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.637597" elapsed="0.006980"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.658670" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.658722" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.658831" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.651585" elapsed="0.007272"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.661257" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.659043" elapsed="0.002261"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.651171" elapsed="0.010194"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.644729" elapsed="0.016690"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.634161" elapsed="0.027297"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.661955" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.661705" elapsed="0.000294"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.665684" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.665901" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.665478" elapsed="0.000466"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.666816" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb784a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.666171" elapsed="0.000688"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.667529" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.667089" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.668196" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.667796" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.668883" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.668485" elapsed="0.000436"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.670202" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.669163" elapsed="0.001103"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.670989" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.670508" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.671761" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.671299" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.672533" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.672046" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.673304" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.672820" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.673875" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.673563" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.674406" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb784a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.674073" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.665039" elapsed="0.009466"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.688681" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.688787" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.689059" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.681497" elapsed="0.007623"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.694271" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.689520" elapsed="0.004852"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.681094" elapsed="0.013407"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.674657" elapsed="0.019961"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.661572" elapsed="0.033130"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.695822" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.695229" elapsed="0.000693"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.700177" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.700354" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.700035" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.701023" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ab010&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.700539" elapsed="0.000528"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.701586" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.701276" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.702048" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.701771" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.702540" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.702247" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.703442" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.702724" elapsed="0.000750"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.703974" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.703637" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.704524" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.704174" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.705135" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.704726" elapsed="0.000460"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.705686" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.705370" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.706198" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.705885" elapsed="0.000439"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.706859" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ab010&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.706526" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.699687" elapsed="0.007276"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.720852" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.720978" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.721143" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.714037" elapsed="0.007145"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.726007" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.721506" elapsed="0.004569"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.713635" elapsed="0.012533"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.707118" elapsed="0.019158"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.694935" elapsed="0.031402"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.727079" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.726703" elapsed="0.000443"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.732659" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.732884" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.732273" elapsed="0.000675"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.733821" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.733176" elapsed="0.000687"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.734528" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.734092" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.735200" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.734795" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.735895" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.735488" elapsed="0.000446"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.737214" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.736158" elapsed="0.001112"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.737763" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.737434" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.738286" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.737959" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.738798" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.738482" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.739315" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.738993" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.739826" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.739518" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.740417" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.740084" elapsed="0.000377"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.731744" elapsed="0.008774"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.755519" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.755638" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.755869" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.747554" elapsed="0.008375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.761343" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.756368" elapsed="0.005078"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.747145" elapsed="0.014443"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.740673" elapsed="0.021034"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.726501" elapsed="0.035291"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.762950" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.762381" elapsed="0.000667"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.770107" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.770310" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.769956" elapsed="0.000385"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.770950" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1405477e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.770507" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.771439" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.771135" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.771893" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.771621" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.772366" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.772074" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.773209" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.772545" elapsed="0.000709"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.773762" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.773424" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.774282" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.773958" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.774792" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.774479" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.775313" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.774986" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.775823" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.775514" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.776418" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1405477e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.776088" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.769573" elapsed="0.006948"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.790788" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.790875" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.791034" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.783630" elapsed="0.007444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.794853" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.791415" elapsed="0.003504"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.783205" elapsed="0.011808"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.776676" elapsed="0.018415"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.762034" elapsed="0.033114"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.795916" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.795542" elapsed="0.000439"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.801330" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.801552" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.801103" elapsed="0.000479"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.802207" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e250&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.801762" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.802703" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.802419" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.803157" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.802883" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.803624" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.803351" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.804406" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.803799" elapsed="0.000638"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.804956" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.804601" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.805493" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.805154" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.805998" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.805685" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.806512" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.806192" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.807013" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.806707" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.807605" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e250&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.807292" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.800478" elapsed="0.007229"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.821768" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.821900" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.822146" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.814787" elapsed="0.007422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.827712" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.822670" elapsed="0.005142"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.814372" elapsed="0.013574"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.807862" elapsed="0.020201"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.795336" elapsed="0.032811"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.829348" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.828704" elapsed="0.000747"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.835154" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.835341" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.835009" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.835949" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0cea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.835528" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.836431" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.836134" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.836904" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.836611" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.837375" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.837083" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.838138" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.837553" elapsed="0.000616"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.838679" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.838348" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.839189" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.838876" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.839717" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.839400" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.840226" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.839913" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.840754" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.840447" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.841362" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0cea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.840967" elapsed="0.000439"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.834653" elapsed="0.006812"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.856156" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.856284" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.856459" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.848551" elapsed="0.007947"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.860158" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.856798" elapsed="0.003426"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.848131" elapsed="0.012208"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.841618" elapsed="0.018801"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.828410" elapsed="0.032066"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.861272" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.860848" elapsed="0.000493"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.866826" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.867085" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.866594" elapsed="0.000535"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.868128" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.867427" elapsed="0.000745"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.868843" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.868428" elapsed="0.000499"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.869578" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.869154" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.870254" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.869839" elapsed="0.000456"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.871626" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.870518" elapsed="0.001153"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.872426" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.871910" elapsed="0.000582"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.873196" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.872718" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.873968" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.873505" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.874727" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.874280" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.875487" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.875013" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.876230" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.875778" elapsed="0.000623"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.865944" elapsed="0.010546"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.900592" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.900659" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.900796" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.893339" elapsed="0.007486"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.903517" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.901097" elapsed="0.002466"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.892178" elapsed="0.011453"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.876720" elapsed="0.026966"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.860642" elapsed="0.043083"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.904264" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.903990" elapsed="0.000321"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.907847" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.908019" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.907700" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.908667" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfec0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.908204" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.909179" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.908887" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.909651" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.909375" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.910098" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.909827" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.911034" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.910291" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.911580" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.911229" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.912087" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.911777" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.912614" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.912298" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.913129" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.912808" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.913651" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.913342" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.914156" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfec0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.913849" elapsed="0.000421"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.907339" elapsed="0.006988"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.928039" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.928089" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.928189" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.921367" elapsed="0.006849"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.930660" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.928414" elapsed="0.002291"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.920967" elapsed="0.009798"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.914481" elapsed="0.016337"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.903854" elapsed="0.027002"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.931418" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.931117" elapsed="0.000347"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.934936" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.935087" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.934794" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.935720" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4a40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.935285" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.936181" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.935902" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.936647" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.936375" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.937128" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.936823" elapsed="0.000330"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.938068" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.937320" elapsed="0.000778"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.938604" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.938276" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.939111" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.938800" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.939638" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.939324" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.940132" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.939830" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.940658" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.940350" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.941195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4a40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.940886" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.934448" elapsed="0.006916"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.954923" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.954975" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.955082" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.948395" elapsed="0.006713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.957608" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.955330" elapsed="0.002323"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.947997" elapsed="0.009720"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.941518" elapsed="0.016253"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.930970" elapsed="0.026839"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.958328" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.958055" elapsed="0.000318"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.962148" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.962375" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.961952" elapsed="0.000464"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.963189" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd7b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.962632" elapsed="0.000598"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.963859" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.963467" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.964510" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.964108" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.965161" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.964760" elapsed="0.000437"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.966192" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.965428" elapsed="0.000825"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.966931" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.966480" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.967661" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.967203" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.968393" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.967929" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.969336" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.968663" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.969852" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.969542" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.970375" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd7b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.970049" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.961472" elapsed="0.009072"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:16.984067" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.984116" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:16.984217" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:16.977634" elapsed="0.006631"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.986676" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.984439" elapsed="0.002282"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:16.977247" elapsed="0.009536"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:16.970700" elapsed="0.016136"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.957923" elapsed="0.028950"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.987399" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:16.987115" elapsed="0.000330"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:16.991666" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:16.991881" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:16.991471" elapsed="0.000451"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:16.992750" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:16.992134" elapsed="0.000658"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.993443" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.993025" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.994074" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.993693" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:16.994722" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:16.994341" elapsed="0.000417"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:16.996019" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:16.994967" elapsed="0.001094"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.996771" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.996301" elapsed="0.000565"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.997551" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.997085" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.998278" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.997821" elapsed="0.000517"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.998973" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.998550" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:16.999701" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.999268" elapsed="0.000497"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.000424" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:16.999977" elapsed="0.000507"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:16.990974" elapsed="0.009586"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.014599" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.014648" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.014746" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.007835" elapsed="0.006938"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.017195" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.014944" elapsed="0.002312"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.007451" elapsed="0.009875"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.000877" elapsed="0.016504"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-05-25T00:36:16.986983" elapsed="0.030437"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.017912" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.017660" elapsed="0.000297"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.021671" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.021865" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.021477" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.022734" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.022119" elapsed="0.000655"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.023418" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.022989" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.024054" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.023671" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.024708" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.024325" elapsed="0.000420"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.025873" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.024976" elapsed="0.000940"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.026611" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.026139" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.027344" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.026885" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.028188" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.027616" elapsed="0.000658"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.028954" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.028491" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.029572" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.029232" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.030079" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.029770" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.021055" elapsed="0.009122"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.044503" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.044552" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.044650" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.037429" elapsed="0.007248"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.047040" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.044882" elapsed="0.002203"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.037019" elapsed="0.010127"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.030389" elapsed="0.016811"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.017530" elapsed="0.029721"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.047753" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.047501" elapsed="0.000297"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.052123" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.052344" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.051931" elapsed="0.000454"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.053207" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.052599" elapsed="0.000670"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.053883" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.053493" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.054539" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.054133" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.055164" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.054787" elapsed="0.000413"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.056282" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.055430" elapsed="0.000897"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.057018" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.056550" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.057745" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.057313" elapsed="0.000490"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.058474" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.058017" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.059162" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.058743" elapsed="0.000482"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.059888" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.059458" elapsed="0.000493"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.060615" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.060161" elapsed="0.000514"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.051454" elapsed="0.009297"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.074646" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.074700" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.074810" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.067955" elapsed="0.006882"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.077280" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.075031" elapsed="0.002298"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.067572" elapsed="0.009819"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.061060" elapsed="0.016385"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.047368" elapsed="0.030116"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.077983" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.077731" elapsed="0.000297"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.081667" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.081866" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.081472" elapsed="0.000435"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.082714" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8680&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.082120" elapsed="0.000635"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.083385" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.082970" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.084013" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.083634" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.084667" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.084284" elapsed="0.000420"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.085828" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.084932" elapsed="0.000939"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.086573" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.086094" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.087298" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.086849" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.088007" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.087570" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.088717" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.088297" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.089429" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.089035" elapsed="0.000440"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.089930" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8680&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.089625" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.081051" elapsed="0.008975"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.104223" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.104333" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.104477" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.097134" elapsed="0.007372"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.108151" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.104831" elapsed="0.003367"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.096675" elapsed="0.011611"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.090177" elapsed="0.018165"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.077598" elapsed="0.030783"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.108963" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.108640" elapsed="0.000369"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.113878" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.114100" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.113682" elapsed="0.000458"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.114965" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.114374" elapsed="0.000631"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.115633" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.115216" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.116290" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.115885" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.116951" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.116545" elapsed="0.000443"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.118161" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.117197" elapsed="0.001006"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.118898" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.118445" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.119649" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.119168" elapsed="0.000539"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.120369" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.119916" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.121099" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.120637" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.121668" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.121362" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.122170" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.121863" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.113160" elapsed="0.009124"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.136363" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.136510" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.136637" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.129269" elapsed="0.007396"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.139140" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.136906" elapsed="0.002279"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.128871" elapsed="0.010391"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.122440" elapsed="0.016878"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.108503" elapsed="0.030854"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.139852" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.139604" elapsed="0.000293"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.144464" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.144687" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.144219" elapsed="0.000508"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.145601" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.144997" elapsed="0.000644"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.146275" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.145858" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.146911" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.146531" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.147562" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.147156" elapsed="0.000442"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.148730" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.147810" elapsed="0.000986"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.149501" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.149023" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.150216" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.149778" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.150954" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.150512" elapsed="0.000501"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.151675" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.151225" elapsed="0.000514"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.152405" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.151950" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.153279" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.152696" elapsed="0.000630"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.143732" elapsed="0.009649"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.168173" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.168338" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.168493" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.160372" elapsed="0.008156"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.171139" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.168796" elapsed="0.002388"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.159971" elapsed="0.011297"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.153533" elapsed="0.017792"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.139473" elapsed="0.031892"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.171870" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.171617" elapsed="0.000297"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.176367" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.176577" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.176144" elapsed="0.000473"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.177521" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6890&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.176884" elapsed="0.000679"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.178171" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.177778" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.178821" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.178441" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.179470" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.179069" elapsed="0.000437"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.180837" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.179717" elapsed="0.001166"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.181589" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.181106" elapsed="0.000542"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.182310" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.181860" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.183015" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.182578" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.183725" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.183302" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.184446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.183997" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.185201" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6890&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.184720" elapsed="0.000562"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.175657" elapsed="0.009684"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.199255" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.199303" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.199449" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.192435" elapsed="0.007041"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.201835" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.199646" elapsed="0.002234"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.192031" elapsed="0.009909"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.185489" elapsed="0.016504"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.171485" elapsed="0.030546"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.202539" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.202287" elapsed="0.000298"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.206433" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.206625" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.206220" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.207507" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa840&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.206880" elapsed="0.000668"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.208154" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.207762" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.208837" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.208432" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.209499" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.209090" elapsed="0.000446"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.210810" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.209748" elapsed="0.001106"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.211548" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.211075" elapsed="0.000532"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.212272" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.211821" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.213021" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.212543" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.213739" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.213315" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.214462" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.214013" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.215164" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa840&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.214737" elapsed="0.000485"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.205746" elapsed="0.009575"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.234101" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.234156" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.234380" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.223382" elapsed="0.011026"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.236875" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.234616" elapsed="0.002305"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.222908" elapsed="0.014075"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.215530" elapsed="0.021508"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.202140" elapsed="0.034937"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.237593" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.237342" elapsed="0.000296"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.241170" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.241378" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.241027" elapsed="0.000393"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.242256" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8a90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.241633" elapsed="0.000672"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.242912" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.242519" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.243567" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.243162" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.244196" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.243815" elapsed="0.000437"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.245498" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.244468" elapsed="0.001060"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.246013" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.245687" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.246541" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.246211" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.247042" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.246732" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.247549" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.247247" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.248047" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.247743" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.248564" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8a90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.248257" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.240636" elapsed="0.008023"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.262522" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.262593" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.262721" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.255918" elapsed="0.006908"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.265610" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.263059" elapsed="0.002615"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.255514" elapsed="0.010249"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.248844" elapsed="0.016993"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.237191" elapsed="0.028701"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.266607" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.266252" elapsed="0.000417"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.271592" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.271802" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.271393" elapsed="0.000449"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.272677" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.272055" elapsed="0.000686"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.273377" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.272957" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.274010" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.273629" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.274657" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.274278" elapsed="0.000415"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.275946" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.274901" elapsed="0.001088"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.276689" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.276214" elapsed="0.000561"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.277441" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.276990" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.278143" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.277709" elapsed="0.000492"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.278854" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.278434" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.279581" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.279127" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.280312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.279857" elapsed="0.000516"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.270888" elapsed="0.009563"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.295788" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.295853" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.295978" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.287739" elapsed="0.008350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.298718" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.296353" elapsed="0.002411"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.287340" elapsed="0.011490"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.280658" elapsed="0.018227"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.266050" elapsed="0.032875"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.299459" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.299181" elapsed="0.000324"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.303780" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.304005" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.303583" elapsed="0.000463"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.304911" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.304283" elapsed="0.000670"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.305613" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.305171" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.306304" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.305876" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.306975" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.306574" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.308372" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.307255" elapsed="0.001163"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.309166" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.308659" elapsed="0.000571"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.309951" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.309488" elapsed="0.000525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.310736" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.310261" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.311499" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.311025" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.312269" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.311790" elapsed="0.000553"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.313083" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.312568" elapsed="0.000578"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.303065" elapsed="0.010165"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.326429" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.326504" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.326638" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.320304" elapsed="0.006362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.329382" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.326995" elapsed="0.002432"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.319887" elapsed="0.009605"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.313418" elapsed="0.016129"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.299045" elapsed="0.030542"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.330087" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.329837" elapsed="0.000295"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.333880" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.334218" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.333674" elapsed="0.000616"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.335159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dda0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.334523" elapsed="0.000679"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.335872" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.335458" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.336565" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.336138" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.337442" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.336962" elapsed="0.000520"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.338808" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.337708" elapsed="0.001145"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.339613" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.339090" elapsed="0.000586"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.340381" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.339903" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.341167" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.340668" elapsed="0.000561"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.341926" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.341477" elapsed="0.000516"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.342695" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.342219" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.343465" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dda0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.342985" elapsed="0.000542"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.333174" elapsed="0.010436"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.357886" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.357967" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.358129" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.351184" elapsed="0.006985"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.361938" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.358600" elapsed="0.003405"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.350783" elapsed="0.011313"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.343834" elapsed="0.018342"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.329706" elapsed="0.032547"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.362992" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.362622" elapsed="0.000436"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.368263" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.368528" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.368037" elapsed="0.000535"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.369465" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d14050cb30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.368852" elapsed="0.000641"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.369930" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.369647" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.370399" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.370109" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.370851" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.370577" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.371841" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.371029" elapsed="0.000843"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.372392" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.372034" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.372917" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.372589" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.373440" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.373110" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.373937" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.373634" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.374463" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.374135" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.374972" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d14050cb30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.374662" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.367525" elapsed="0.007546"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.388522" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.388594" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.388781" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.382179" elapsed="0.006633"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.392517" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.389142" elapsed="0.003442"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.381778" elapsed="0.010925"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.375224" elapsed="0.017559"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.362426" elapsed="0.030416"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.393732" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.393202" elapsed="0.000597"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.399041" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.399287" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.398832" elapsed="0.000502"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.400223" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.399562" elapsed="0.000727"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.401126" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.400705" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.401644" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.401371" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.402089" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.401819" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.403078" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.402278" elapsed="0.000831"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.403625" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.403289" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.404129" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.403819" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.404653" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.404337" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.405176" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.404871" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.405713" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.405403" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.406217" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.405910" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.398315" elapsed="0.008023"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.419879" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.419935" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.420049" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.413380" elapsed="0.006696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.423359" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.420391" elapsed="0.003036"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.412954" elapsed="0.010566"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.406490" elapsed="0.017109"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.393007" elapsed="0.030651"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.424414" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.424016" elapsed="0.000465"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.429911" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.430173" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.429677" elapsed="0.000540"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.431211" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d04f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.430506" elapsed="0.000770"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.431936" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.431514" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.432636" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.432203" elapsed="0.000537"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.433359" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.432968" elapsed="0.000417"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.434380" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.433535" elapsed="0.000876"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.434916" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.434575" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.435435" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.435111" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.435938" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.435627" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.436447" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.436129" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.436986" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.436642" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.437519" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d04f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.437182" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.429031" elapsed="0.008590"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.453137" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.453206" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.453400" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.444830" elapsed="0.008611"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.457224" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.453836" elapsed="0.003480"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.444376" elapsed="0.013038"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.437775" elapsed="0.019718"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.423819" elapsed="0.033731"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.458349" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.457940" elapsed="0.000478"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.463689" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.463966" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.463477" elapsed="0.000533"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.464953" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0860&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.464263" elapsed="0.000734"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.465541" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.465226" elapsed="0.000341"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.465992" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.465720" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.466467" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.466170" elapsed="0.000323"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.467373" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.466642" elapsed="0.000762"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.467899" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.467567" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.468421" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.468095" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.468951" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.468615" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.469467" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.469145" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.469970" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.469664" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.470508" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0860&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.470166" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.462924" elapsed="0.007685"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.485684" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.485755" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.485892" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.477960" elapsed="0.007961"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.489898" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.486158" elapsed="0.003895"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.477492" elapsed="0.012665"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.470765" elapsed="0.019497"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.457721" elapsed="0.032604"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.491147" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.490724" elapsed="0.000497"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.496508" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.496761" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.496295" elapsed="0.000510"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.497722" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.497039" elapsed="0.000725"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.498436" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.497995" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.499099" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.498700" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.499780" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.499381" elapsed="0.000437"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.501375" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.500040" elapsed="0.001366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.501903" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.501570" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.502428" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.502100" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.502938" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.502622" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.503467" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.503132" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.503972" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.503664" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.504501" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.504171" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.495753" elapsed="0.008850"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.518507" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.518566" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.518682" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.511772" elapsed="0.006937"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.521303" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.518919" elapsed="0.002452"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.511349" elapsed="0.010191"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.504785" elapsed="0.016835"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.490498" elapsed="0.031180"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.522433" level="INFO">f156.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.522035" elapsed="0.000466"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.527744" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.528005" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.527537" elapsed="0.000512"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.528939" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb79b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.528296" elapsed="0.000687"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.529655" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.529212" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.530349" level="INFO">${flow_id} = 279</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.529921" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.531016" level="INFO">${flow_priority} = 156</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.530615" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.532350" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.531300" elapsed="0.001096"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.533167" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.532680" elapsed="0.000551"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.533730" level="INFO">${flow_id} = 279</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.533419" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.534254" level="INFO">${flow_priority} = 156</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.533925" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.534752" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.534450" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.535272" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.534950" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.535783" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb79b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.535472" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.527005" elapsed="0.008877"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.549509" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.549574" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.549696" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.542999" elapsed="0.006724"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.552329" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.549949" elapsed="0.002427"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.542592" elapsed="0.009916"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.536036" elapsed="0.016530"/>
</kw>
<var name="${flowfile}">f156.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.521842" elapsed="0.030764"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.553149" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.552893" elapsed="0.000302"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.556825" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.556990" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.556677" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.557791" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0ca200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.557174" elapsed="0.000662"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.558502" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.558062" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.559167" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.558768" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.559858" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.559457" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.561219" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.560121" elapsed="0.001163"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.562008" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.561525" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.562789" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.562323" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.563568" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.563077" elapsed="0.000554"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.564330" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.563858" elapsed="0.000542"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.565133" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.564670" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.565751" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0ca200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.565435" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.556282" elapsed="0.009567"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.581107" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.581168" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.581308" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.573083" elapsed="0.008254"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.583814" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.581537" elapsed="0.002322"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.572691" elapsed="0.011229"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.566002" elapsed="0.018038"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.552758" elapsed="0.031323"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.584641" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.584347" elapsed="0.000342"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.589754" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.589967" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.589549" elapsed="0.000463"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.590884" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.590259" elapsed="0.000668"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.591595" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.591158" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.592281" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.591861" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.592985" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.592547" elapsed="0.000478"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.594348" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.593271" elapsed="0.001124"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.595109" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.594632" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.595888" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.595424" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.596715" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.596180" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.597420" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.597008" elapsed="0.000459"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.597931" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.597621" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.598496" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a9260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.598131" elapsed="0.000408"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.589021" elapsed="0.009574"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.613359" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.613412" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.613522" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.605819" elapsed="0.007730"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.616034" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.613741" elapsed="0.002338"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.605430" elapsed="0.010711"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.598750" elapsed="0.017525"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.584196" elapsed="0.032121"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.616861" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.616570" elapsed="0.000337"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.622137" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.622371" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.621933" elapsed="0.000483"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.623317" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.622643" elapsed="0.000718"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.624013" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.623592" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.624770" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.624307" elapsed="0.000502"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.625406" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.625038" elapsed="0.000395"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.626323" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.625585" elapsed="0.000769"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.626844" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.626516" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.627366" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.627041" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.627876" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.627563" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.628388" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.628070" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.628923" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.628610" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.629451" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.629122" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.621422" elapsed="0.008128"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.643690" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.643749" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.643864" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.636851" elapsed="0.007041"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.646444" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.644096" elapsed="0.002393"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.636375" elapsed="0.010178"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.629702" elapsed="0.016981"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.616432" elapsed="0.030293"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.647229" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.646976" elapsed="0.000317"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.652878" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.653181" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.652528" elapsed="0.000749"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.653873" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140547740&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.653443" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.654352" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.654055" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.654798" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.654529" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.655255" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.654973" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.656143" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.655432" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.656698" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.656359" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.657205" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.656894" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.657733" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.657418" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.658245" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.657927" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.658755" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.658444" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.659277" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140547740&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.658953" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.651623" elapsed="0.007758"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.673210" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.673282" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.673390" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.666430" elapsed="0.006986"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.675800" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.673595" elapsed="0.002249"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.666031" elapsed="0.009875"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.659530" elapsed="0.016431"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.646842" elapsed="0.029223"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.676641" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.676335" elapsed="0.000354"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.681685" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.681897" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.681478" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.682831" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.682166" elapsed="0.000708"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.683542" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.683102" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.684207" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.683806" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.684913" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.684494" elapsed="0.000457"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.686343" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.685173" elapsed="0.001214"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.687097" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.686620" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.687864" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.687408" elapsed="0.000517"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.688674" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.688147" elapsed="0.000590"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.689385" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.688960" elapsed="0.000470"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.689885" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.689580" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.690403" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.690080" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.680943" elapsed="0.009556"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.703784" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.703843" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.703959" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.697530" elapsed="0.006456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.706553" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.704183" elapsed="0.002415"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.697124" elapsed="0.009537"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.690649" elapsed="0.016066"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.676182" elapsed="0.030634"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.707335" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.707063" elapsed="0.000318"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.711752" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.712002" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.711543" elapsed="0.000502"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.712972" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.712293" elapsed="0.000722"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.713683" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.713263" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.714373" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.713948" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.715031" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.714634" elapsed="0.000435"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.716464" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.715314" elapsed="0.001194"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.717281" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.716783" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.717787" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.717477" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.718306" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.717979" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.718803" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.718499" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.719319" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.718998" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.719823" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.719517" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.711009" elapsed="0.008910"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.734538" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.734586" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.734681" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.727252" elapsed="0.007455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.737032" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.734876" elapsed="0.002199"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.726851" elapsed="0.010283"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.720071" elapsed="0.017116"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.706929" elapsed="0.030362"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.737787" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.737534" elapsed="0.000298"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.741382" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.741575" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.741196" elapsed="0.000419"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.742437" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354860&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.741829" elapsed="0.000648"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.743077" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.742691" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.743723" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.743346" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.744373" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.743969" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.745686" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.744662" elapsed="0.001066"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.746423" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.745948" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.747134" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.746699" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.747865" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.747426" elapsed="0.000497"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.748602" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.748135" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.749327" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.748878" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.750032" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354860&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.749603" elapsed="0.000487"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.740855" elapsed="0.009310"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.765029" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.765098" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.765222" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.758109" elapsed="0.007169"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.768699" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.765574" elapsed="0.003186"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.757723" elapsed="0.011124"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.750394" elapsed="0.018528"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.737402" elapsed="0.031645"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.769773" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.769417" elapsed="0.000420"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.774699" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.774937" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.774503" elapsed="0.000476"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.775799" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2faac0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.775193" elapsed="0.000647"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.776471" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.776056" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.777168" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.776781" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.777675" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.777404" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.778542" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.777852" elapsed="0.000721"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.779062" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.778733" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.779581" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.779270" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.780081" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.779772" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.780610" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.780287" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.781112" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.780806" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.781631" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2faac0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.781322" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.773999" elapsed="0.007726"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.795858" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.795905" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.796001" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.788706" elapsed="0.007321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.798388" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.796195" elapsed="0.002237"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.788297" elapsed="0.010194"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.781874" elapsed="0.016669"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.769208" elapsed="0.029373"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.799130" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.798879" elapsed="0.000296"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.803228" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.803441" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.803037" elapsed="0.000444"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.804259" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f84f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.803694" elapsed="0.000608"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.804930" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.804518" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.805599" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.805184" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.806251" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.805849" elapsed="0.000443"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.807304" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.806510" elapsed="0.000838"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.808024" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.807571" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.808800" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.808323" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.809664" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.809077" elapsed="0.000646"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.810384" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.809937" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.811092" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.810663" elapsed="0.000493"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.811818" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f84f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.811389" elapsed="0.000487"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.802559" elapsed="0.009394"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.826354" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.826406" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.826509" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.819491" elapsed="0.007044"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.828901" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.826717" elapsed="0.002228"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.819088" elapsed="0.009919"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.812165" elapsed="0.016895"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.798746" elapsed="0.030352"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.829609" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.829359" elapsed="0.000350"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.833223" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.833428" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.833083" elapsed="0.000387"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.834279" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f56c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.833684" elapsed="0.000640"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.834930" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.834542" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.835588" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.835181" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.836213" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.835836" elapsed="0.000435"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.837420" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.836482" elapsed="0.000981"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.838128" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.837682" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.838855" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.838420" elapsed="0.000492"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.839581" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.839120" elapsed="0.000520"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.840294" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.839850" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.841073" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.840635" elapsed="0.000501"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.841663" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f56c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.841355" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.832739" elapsed="0.009020"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.854727" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.854775" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.854872" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.848683" elapsed="0.006216"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.858215" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.855069" elapsed="0.003208"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.848283" elapsed="0.010059"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.841908" elapsed="0.016487"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.829207" elapsed="0.029225"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.858928" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.858676" elapsed="0.000297"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.863008" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.863255" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.862812" elapsed="0.000487"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.864095" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f71f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.863512" elapsed="0.000624"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.864785" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.864376" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.865434" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.865030" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.866056" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.865678" elapsed="0.000414"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.867149" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.866319" elapsed="0.000873"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.867908" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.867448" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.868654" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.868179" elapsed="0.000535"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.869500" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.868923" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.870184" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.869769" elapsed="0.000498"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.870737" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.870432" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.871249" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f71f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.870930" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.862336" elapsed="0.009014"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.885266" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.885355" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.885521" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.878434" elapsed="0.007129"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.889346" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.885846" elapsed="0.003575"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.878017" elapsed="0.011504"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.871503" elapsed="0.018097"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.858542" elapsed="0.031116"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.890461" level="INFO">f221.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.890031" elapsed="0.000499"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.895878" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.896095" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.895665" elapsed="0.000474"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.897055" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f89f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.896394" elapsed="0.000704"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.897773" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.897351" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.898471" level="INFO">${flow_id} = 344</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.898042" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.899147" level="INFO">${flow_priority} = 221</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.898737" elapsed="0.000450"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.900439" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.899438" elapsed="0.001063"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.901259" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.900741" elapsed="0.000584"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.902020" level="INFO">${flow_id} = 344</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.901556" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.902812" level="INFO">${flow_priority} = 221</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.902335" elapsed="0.000539"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.903587" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.903104" elapsed="0.000551"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.904369" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.903886" elapsed="0.000552"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.905169" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f89f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.904703" elapsed="0.000529"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.895128" elapsed="0.010197"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.919105" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.919151" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.919264" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.912392" elapsed="0.006900"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.921577" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.919458" elapsed="0.002164"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.911986" elapsed="0.009693"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.905480" elapsed="0.016251"/>
</kw>
<var name="${flowfile}">f221.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.889824" elapsed="0.031945"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.922262" level="INFO">f222.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.921997" elapsed="0.000313"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.926070" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.926276" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.925870" elapsed="0.000451"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.927092" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.926546" elapsed="0.000588"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.927788" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.927381" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.928473" level="INFO">${flow_id} = 345</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.928051" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.929147" level="INFO">${flow_priority} = 222</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.928750" elapsed="0.000435"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.930274" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.929426" elapsed="0.000902"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.931079" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.930601" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.931846" level="INFO">${flow_id} = 345</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.931391" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.932658" level="INFO">${flow_priority} = 222</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.932127" elapsed="0.000594"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.933378" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.932943" elapsed="0.000480"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.933873" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.933571" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.934386" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.934066" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.925325" elapsed="0.009156"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.947167" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.947214" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.947335" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.941380" elapsed="0.005982"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.949557" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.947527" elapsed="0.002074"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.940986" elapsed="0.008673"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.934630" elapsed="0.015082"/>
</kw>
<var name="${flowfile}">f222.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.921869" elapsed="0.027882"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.950248" level="INFO">f223.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.949986" elapsed="0.000310"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.954021" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.954290" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.953829" elapsed="0.000503"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.955087" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.954547" elapsed="0.000579"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.955752" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.955362" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.956405" level="INFO">${flow_id} = 346</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.956002" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.957051" level="INFO">${flow_priority} = 223</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.956673" elapsed="0.000415"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.958313" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.957555" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.959032" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.958582" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.959763" level="INFO">${flow_id} = 346</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.959328" elapsed="0.000493"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.960522" level="INFO">${flow_priority} = 223</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.960035" elapsed="0.000547"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.961220" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.960795" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.961949" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.961518" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.962685" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.962226" elapsed="0.000518"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.953358" elapsed="0.009463"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:17.977216" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.977282" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:17.977426" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:17.970530" elapsed="0.006932"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.980432" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.977680" elapsed="0.002847"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:17.970135" elapsed="0.010473"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.963030" elapsed="0.017650"/>
</kw>
<var name="${flowfile}">f223.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.949857" elapsed="0.030876"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.981421" level="INFO">f224.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:17.981050" elapsed="0.000433"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:17.986352" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:17.986593" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:17.986144" elapsed="0.000489"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:17.987407" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c84a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:17.986845" elapsed="0.000602"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.988050" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.987663" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.988743" level="INFO">${flow_id} = 347</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.988322" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:17.989370" level="INFO">${flow_priority} = 224</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:17.988993" elapsed="0.000403"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:17.990069" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:17.989547" elapsed="0.000552"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.990595" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.990270" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.991095" level="INFO">${flow_id} = 347</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.990790" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.991615" level="INFO">${flow_priority} = 224</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.991303" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.992107" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.991806" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.992646" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.992320" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:17.993147" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c84a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:17.992842" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:17.985680" elapsed="0.007579"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:18.006519" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:18.006570" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:18.006682" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:18.000405" elapsed="0.006304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.008928" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:18.006885" elapsed="0.002087"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:18.000007" elapsed="0.009027"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:17.993408" elapsed="0.015679"/>
</kw>
<var name="${flowfile}">f224.xml</var>
<status status="PASS" start="2026-05-25T00:36:17.980872" elapsed="0.028254"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.009632" level="INFO">f225.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:18.009382" elapsed="0.000295"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:18.013212" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:18.013424" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:18.013069" elapsed="0.000459"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:18.014320" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:18.013747" elapsed="0.000613"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:18.014973" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:18.014578" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:18.015625" level="INFO">${flow_id} = 348</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:18.015223" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:18.016273" level="INFO">${flow_priority} = 225</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:18.015872" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:18.017631" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:18.016726" elapsed="0.000947"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.018367" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.017898" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.019071" level="INFO">${flow_id} = 348</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.018643" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.019801" level="INFO">${flow_priority} = 225</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.019362" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.020533" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.020069" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.021257" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.020810" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.021962" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.021534" elapsed="0.000486"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:18.012723" elapsed="0.009373"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:18.036469" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:18.036537" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:18.036675" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:18.030056" elapsed="0.006657"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.040007" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:18.036953" elapsed="0.003115"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:18.029648" elapsed="0.010505"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:18.022326" elapsed="0.017900"/>
</kw>
<var name="${flowfile}">f225.xml</var>
<status status="PASS" start="2026-05-25T00:36:18.009250" elapsed="0.031050"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.041001" level="INFO">f550.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:18.040653" elapsed="0.000410"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:18.045804" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:18.045964" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:18.045659" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:18.046634" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:18.046204" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:18.047104" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:18.046820" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:18.047581" level="INFO">${flow_id} = 550</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:18.047303" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:18.048033" level="INFO">${flow_priority} = 550</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:18.047762" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:18.048876" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:18.048212" elapsed="0.000695"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.049410" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.049068" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.049915" level="INFO">${flow_id} = 550</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.049607" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.050437" level="INFO">${flow_priority} = 550</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.050107" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.050930" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.050630" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.051446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.051125" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.051948" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:18.051642" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:18.045314" elapsed="0.006730"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via Restconf" owner="FlowLib">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:18.066197" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:18.066284" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:18.066449" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${node_id}/flow-node-inventory:table=${table_id}/flow=${flow_id}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:18.059072" elapsed="0.007420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:18.069768" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:18.066742" elapsed="0.003089"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Deletes a flow from configuration datastore specified by given flow details (${node_id}, 2, ${flow_body}) using DELETE method</doc>
<status status="PASS" start="2026-05-25T00:36:18.058689" elapsed="0.011236"/>
</kw>
<arg>Delete Flow Via Restconf</arg>
<arg>${switch_idx}</arg>
<arg>${table_id}</arg>
<arg>${flow_id}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:18.052192" elapsed="0.017808"/>
</kw>
<var name="${flowfile}">f550.xml</var>
<status status="PASS" start="2026-05-25T00:36:18.040468" elapsed="0.029584"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-05-25T00:36:16.283801" elapsed="1.786300"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.070936" level="INFO">Slept 3 seconds.</msg>
<arg>${flow_update_time}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="PASS" start="2026-05-25T00:36:18.070339" elapsed="3.000822"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:36:21.075030" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:36:21.071699" elapsed="0.003464"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:36:21.104046" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=27.578s, table=0, n_packets=14, n_bytes=1116, send_flow_rem priority=0 actions=CONTROLLER:65535
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:36:21.075594" elapsed="0.028586"/>
</kw>
<doc>Delete all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-05-25T00:36:16.283462" elapsed="4.821043"/>
</test>
<test id="s1-s3-s1-t118" name="Test Is Flow 1 Deleted" line="310">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.115864" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.116045" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.115700" elapsed="0.000374"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.116734" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfb50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.116262" elapsed="0.000501"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.117207" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.116919" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.117683" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.117405" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.118138" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.117863" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.118957" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.118334" elapsed="0.000655"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.119534" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.119155" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.120055" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.119732" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.120595" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.120264" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.121105" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.120790" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.121638" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.121317" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.122155" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfb50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.121836" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.115354" elapsed="0.006916"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.122834" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.122427" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.123276" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.123016" elapsed="0.000339"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.131148" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.130837" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.137268" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.137685" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.137829" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.131388" elapsed="0.006477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.138486" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.138093" elapsed="0.000458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.141579" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.138756" elapsed="0.002894"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.144262" elapsed="0.000049"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.141760" elapsed="0.002608"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.141728" elapsed="0.002676"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.144606" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.144925" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.144736" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.144712" elapsed="0.000319"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.145076" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:21.147407" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.147474" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.130513" elapsed="0.016994"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.149937" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.148307" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.148280" elapsed="0.001729"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.150581" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.150159" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.151130" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.150774" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.151207" elapsed="0.000051"/>
</return>
<msg time="2026-05-25T00:36:21.151435" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.147809" elapsed="0.003652"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.151620" elapsed="0.000395"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.129918" elapsed="0.022160"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.160026" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.159724" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.165529" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.165825" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.165995" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.160185" elapsed="0.005837"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.166525" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.166213" elapsed="0.000359"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.168942" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.166718" elapsed="0.002295"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.171635" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.169121" elapsed="0.002588"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.169090" elapsed="0.002652"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.175871" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.175941" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.171946" elapsed="0.004030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.179003" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.176093" elapsed="0.002994"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.176065" elapsed="0.003061"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.179178" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:21.179552" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.179619" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.159336" elapsed="0.020318"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.182104" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.180491" elapsed="0.001661"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.180473" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.182774" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.182344" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.183355" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.182967" elapsed="0.000415"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.183433" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.183613" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.179995" elapsed="0.003644"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.183796" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.158665" elapsed="0.025613"/>
</kw>
<arg>f1.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.111982" elapsed="0.072358"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.104740" elapsed="0.079734"/>
</test>
<test id="s1-s3-s1-t119" name="Test Is Flow 2 Deleted" line="312">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.196108" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.196288" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.195960" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.196900" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df830&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.196482" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.197387" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.197084" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.197843" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.197569" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.198387" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.198022" elapsed="0.000392"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.199213" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.198571" elapsed="0.000688"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.199777" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.199436" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.200318" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.199977" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.200847" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.200517" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.201378" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.201044" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.201906" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.201584" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.202446" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df830&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.202106" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.195613" elapsed="0.006931"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.203088" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.202697" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.203567" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.203312" elapsed="0.000315"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.211869" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.211557" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.217595" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.217746" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.217851" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.212028" elapsed="0.005850"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.218355" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.218059" elapsed="0.000343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.220580" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.218546" elapsed="0.002144"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.222562" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.220774" elapsed="0.001863"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.220750" elapsed="0.001912"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.222811" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.223040" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.222903" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.222886" elapsed="0.000232"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.223151" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:21.225016" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.225079" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.211179" elapsed="0.013933"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.228165" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.225927" elapsed="0.002302"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.225902" elapsed="0.002382"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.229059" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.228495" elapsed="0.000602"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.229834" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.229344" elapsed="0.000527"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.229941" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:21.230191" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.225451" elapsed="0.004776"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.230470" elapsed="0.000549"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.210609" elapsed="0.020502"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.240524" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.240203" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.245986" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.246113" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.246216" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.240683" elapsed="0.005583"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.246820" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.246454" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.250186" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.247086" elapsed="0.003200"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.252945" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.250392" elapsed="0.002626"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.250360" elapsed="0.002691"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.256807" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.256855" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.253270" elapsed="0.003609"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.258697" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.256957" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.256938" elapsed="0.001841"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.258813" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:21.259016" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.259062" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.239821" elapsed="0.019264"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.261312" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.259683" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.259664" elapsed="0.001716"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.261939" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.261530" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.262499" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.262129" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.262575" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.262753" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.259342" elapsed="0.003437"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.262935" elapsed="0.000420"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.239171" elapsed="0.024250"/>
</kw>
<arg>f2.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.192223" elapsed="0.071260"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.184811" elapsed="0.078797"/>
</test>
<test id="s1-s3-s1-t120" name="Test Is Flow 3 Deleted" line="314">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.274759" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.274919" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.274615" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.275536" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404fb0b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.275100" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.276001" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.275719" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.276469" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.276180" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.276914" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.276646" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.277862" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.277087" elapsed="0.000806"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.278406" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.278055" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.278927" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.278604" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.279499" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.279120" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.280057" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.279734" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.280602" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.280274" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.281126" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404fb0b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.280801" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.274281" elapsed="0.006941"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.281776" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.281389" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.282202" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.281959" elapsed="0.000318"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.290104" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.289800" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.295911" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.296035" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.296135" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.290276" elapsed="0.005884"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.296759" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.296349" elapsed="0.000456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.298942" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.296950" elapsed="0.002044"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.300873" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.299068" elapsed="0.001876"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.299046" elapsed="0.001924"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.301116" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.301362" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.301209" elapsed="0.000207"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.301192" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.301475" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:21.303106" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.303152" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.289482" elapsed="0.013730"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.305831" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.303820" elapsed="0.002076"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.303802" elapsed="0.002125"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.306719" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.306134" elapsed="0.000623"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.307522" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.306985" elapsed="0.000575"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.307630" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:21.307882" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.303480" elapsed="0.004437"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.308136" elapsed="0.000566"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.288905" elapsed="0.019885"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.318632" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.318330" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.324428" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.324657" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.324838" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.318790" elapsed="0.006085"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.325649" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.325190" elapsed="0.000524"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.330668" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.325914" elapsed="0.004828"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.333411" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.330852" elapsed="0.002637"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.330819" elapsed="0.002703"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.337066" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.337113" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.333721" elapsed="0.003417"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.338974" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.337217" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.337197" elapsed="0.001860"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.339091" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:21.339334" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.339380" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.317938" elapsed="0.021466"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.341608" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.339993" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.339975" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.342328" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.341893" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.342886" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.342527" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.342965" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.343148" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.339646" elapsed="0.003529"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.343374" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.317314" elapsed="0.026530"/>
</kw>
<arg>f3.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.270940" elapsed="0.072961"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.263804" elapsed="0.080220"/>
</test>
<test id="s1-s3-s1-t121" name="Test Is Flow 4 Deleted" line="316">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.354985" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.355150" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.354840" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.356011" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ddbc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.355567" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.356500" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.356194" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.356950" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.356681" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.357412" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.357127" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.358427" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.357593" elapsed="0.000865"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.358954" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.358618" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.359521" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.359150" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.360045" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.359718" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.360570" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.360253" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.361088" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.360768" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.361622" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ddbc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.361300" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.354506" elapsed="0.007212"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.362263" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.361868" elapsed="0.000485"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.362756" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.362512" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.370553" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.370244" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.375961" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.376098" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.376205" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.370710" elapsed="0.005520"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.376723" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.376439" elapsed="0.000339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.378971" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.376941" elapsed="0.002082"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.381158" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.379104" elapsed="0.002173"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.379080" elapsed="0.002234"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.381519" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.381842" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.381653" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.381629" elapsed="0.000319"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.381993" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:21.384328" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.384393" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.369914" elapsed="0.014511"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.387527" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.385229" elapsed="0.002363"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.385204" elapsed="0.002420"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.388434" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.387831" elapsed="0.000642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.389201" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.388706" elapsed="0.000552"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.389330" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:21.389592" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.384749" elapsed="0.004950"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.389926" elapsed="0.000583"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.369352" elapsed="0.021248"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.399148" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.398840" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.405055" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.405192" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.405322" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.399340" elapsed="0.006009"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.405814" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.405521" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.408304" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.406009" elapsed="0.002349"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.410210" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.408432" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.408411" elapsed="0.001892"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.413660" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.413726" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.410448" elapsed="0.003311"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.416340" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.413867" elapsed="0.002552"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.413840" elapsed="0.002614"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.416501" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:21.416774" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.416834" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.398455" elapsed="0.018410"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.419921" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.417651" elapsed="0.002335"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.417626" elapsed="0.002392"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.420886" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.420223" elapsed="0.000701"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.421606" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.421150" elapsed="0.000482"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.421681" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.421860" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.417166" elapsed="0.004719"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.422043" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.397801" elapsed="0.024710"/>
</kw>
<arg>f4.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.351226" elapsed="0.071394"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.344219" elapsed="0.078530"/>
</test>
<test id="s1-s3-s1-t122" name="Test Is Flow 5 Deleted" line="318">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.433787" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.433946" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.433643" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.434565" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.434127" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.435032" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.434748" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.435520" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.435231" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.435968" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.435698" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.437009" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.436145" elapsed="0.000895"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.437553" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.437199" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.438078" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.437754" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.438615" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.438288" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.439123" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.438809" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.439680" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.439357" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.440198" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.439877" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.433303" elapsed="0.007008"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.440844" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.440461" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.441296" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.441037" elapsed="0.000353"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.449186" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.448879" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.453571" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.453704" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.453804" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.449361" elapsed="0.004468"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.454298" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.454006" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.456625" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.454490" elapsed="0.002193"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.458556" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.456758" elapsed="0.001870"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.456736" elapsed="0.001918"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.458812" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.459056" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.458914" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.458892" elapsed="0.000241"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.459166" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:21.460854" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.460899" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.448557" elapsed="0.012365"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.463093" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.461490" elapsed="0.001648"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.461473" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.463899" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.463357" elapsed="0.000579"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.464685" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.464163" elapsed="0.000558"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.464789" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:21.465039" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.461138" elapsed="0.003936"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.465315" elapsed="0.000545"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.447978" elapsed="0.017971"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.476569" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.476266" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.482193" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.482373" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.482479" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.476727" elapsed="0.005778"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.482929" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.482670" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.486152" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.483123" elapsed="0.003103"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.488851" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.486347" elapsed="0.002574"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.486318" elapsed="0.002636"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.492840" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.492905" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.489151" elapsed="0.003787"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.495515" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.493046" elapsed="0.002526"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.493020" elapsed="0.002577"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.495630" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:21.495824" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.495868" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.475869" elapsed="0.020022"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.498066" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.496460" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.496441" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.498700" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.498297" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.499279" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.498892" elapsed="0.000415"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.499357" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.499537" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.496106" elapsed="0.003456"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.499722" elapsed="0.000388"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.475103" elapsed="0.025071"/>
</kw>
<arg>f5.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.429993" elapsed="0.070252"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.422947" elapsed="0.077420"/>
</test>
<test id="s1-s3-s1-t123" name="Test Is Flow 6 Deleted" line="320">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.511354" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.511522" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.511196" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.512117" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.511708" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.512643" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.512316" elapsed="0.000354"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.513098" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.512826" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.513569" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.513292" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.514597" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.513748" elapsed="0.000880"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.515132" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.514793" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.515822" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.515410" elapsed="0.000465"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.516400" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.516049" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.516917" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.516600" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.517454" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.517116" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.517972" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.517652" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.510839" elapsed="0.007230"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.518618" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.518219" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.519043" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.518802" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.527388" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.527025" elapsed="0.000391"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.531992" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.532120" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.532288" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.527547" elapsed="0.004770"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.532761" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.532491" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.534998" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.532969" elapsed="0.002080"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.537553" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.535125" elapsed="0.002526"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.535102" elapsed="0.002584"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.537888" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.538206" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.538015" elapsed="0.000285"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.537992" elapsed="0.000342"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.538379" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:21.540690" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.540753" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.526704" elapsed="0.014081"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.543833" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.541574" elapsed="0.002325"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.541549" elapsed="0.002381"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.544720" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.544138" elapsed="0.000619"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.545498" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.544983" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.545603" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:21.545853" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.541082" elapsed="0.004806"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.546105" elapsed="0.000570"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.526089" elapsed="0.020673"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.554817" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.554517" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.559904" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.560025" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.560125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.554974" elapsed="0.005176"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.560636" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.560359" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.563029" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.560825" elapsed="0.002305"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.565023" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.563250" elapsed="0.001824"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.563213" elapsed="0.001884"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.568127" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.568193" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.565256" elapsed="0.002969"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.570803" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.568357" elapsed="0.002530"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.568331" elapsed="0.002593"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.570974" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:21.571320" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.571388" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.554119" elapsed="0.017304"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.574677" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.572274" elapsed="0.002472"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.572227" elapsed="0.002552"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.575653" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.575000" elapsed="0.000694"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.576488" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.575938" elapsed="0.000590"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.576603" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:21.576870" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.571751" elapsed="0.005159"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.577146" elapsed="0.000609"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.553487" elapsed="0.024364"/>
</kw>
<arg>f6.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.507593" elapsed="0.070346"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.500643" elapsed="0.077472"/>
</test>
<test id="s1-s3-s1-t124" name="Test Is Flow 7 Deleted" line="322">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.589565" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.589723" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.589421" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.590350" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.589908" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.590816" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.590534" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.591312" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.590993" elapsed="0.000346"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.591762" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.591493" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.592862" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.591936" elapsed="0.000957"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.593406" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.593053" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.593979" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.593650" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.594525" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.594175" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.595043" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.594724" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.595605" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.595278" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.596131" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.595806" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.589071" elapsed="0.007159"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.596786" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.596399" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.597214" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.596969" elapsed="0.000324"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.605079" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.604774" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.610097" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.610264" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.610371" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.605254" elapsed="0.005143"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.610848" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.610564" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.613799" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.611042" elapsed="0.002830"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.616497" elapsed="0.000046"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.613977" elapsed="0.002678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.613946" elapsed="0.002749"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.616903" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.617225" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.617034" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.617010" elapsed="0.000360"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.617416" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:21.619745" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.619811" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.604454" elapsed="0.015390"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.622906" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.620655" elapsed="0.002317"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.620630" elapsed="0.002374"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.623747" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.623281" elapsed="0.000493"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.624324" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.623939" elapsed="0.000412"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.624401" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:21.624583" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.620158" elapsed="0.004450"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.624765" elapsed="0.000399"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.603876" elapsed="0.021370"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.633168" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.632861" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.640763" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.640909" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.641034" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.633342" elapsed="0.007719"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.641619" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.641267" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.644931" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.641896" elapsed="0.003111"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.647798" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.645117" elapsed="0.002757"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.645084" elapsed="0.002825"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.651943" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.651991" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.648122" elapsed="0.003893"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.653842" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.652095" elapsed="0.001804"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.652076" elapsed="0.001848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.654028" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:21.654261" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.654309" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.632479" elapsed="0.021853"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.656568" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.654925" elapsed="0.001690"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.654907" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.657219" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.656791" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.657787" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.657430" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.657865" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.658047" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.654577" elapsed="0.003496"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.658247" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.631824" elapsed="0.026896"/>
</kw>
<arg>f7.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.585782" elapsed="0.072998"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.578413" elapsed="0.080491"/>
</test>
<test id="s1-s3-s1-t125" name="Test Is Flow 8 Deleted" line="324">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.670102" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.670306" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.669940" elapsed="0.000395"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.670982" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbf10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.670508" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.671506" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.671201" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.671957" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.671686" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.672421" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.672133" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.673636" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.672598" elapsed="0.001070"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.674182" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.673835" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.674774" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.674445" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.675336" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.674970" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.675851" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.675533" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.676390" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.676051" elapsed="0.000444"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.676981" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cbf10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.676653" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.669578" elapsed="0.007503"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.677657" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.677250" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.678087" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.677841" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.686045" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.685729" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.691904" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.692114" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.692303" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.686207" elapsed="0.006136"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.693024" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.692614" elapsed="0.000494"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.696611" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.693366" elapsed="0.003329"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.699516" elapsed="0.000050"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.696829" elapsed="0.002796"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.696791" elapsed="0.002871"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.699890" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.700230" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.700028" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.700004" elapsed="0.000362"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.700415" elapsed="0.000026"/>
</return>
<msg time="2026-05-25T00:36:21.702721" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.702784" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.685399" elapsed="0.017418"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.705430" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.703666" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.703648" elapsed="0.001852"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.706060" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.705651" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.706621" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.706266" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.706698" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:21.706878" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.703258" elapsed="0.003646"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.707061" elapsed="0.000438"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.684784" elapsed="0.022779"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.715382" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.715034" elapsed="0.000376"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.721132" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.721273" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.721394" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.715541" elapsed="0.005882"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.721867" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.721593" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.724389" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.722074" elapsed="0.002388"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.727028" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.724560" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.724533" elapsed="0.002621"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.731157" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.731223" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.727369" elapsed="0.003907"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.733797" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.731387" elapsed="0.002488"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.731361" elapsed="0.002549"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.733956" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:21.734250" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.734317" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.714655" elapsed="0.019694"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.737090" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.735153" elapsed="0.001983"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.735127" elapsed="0.002032"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.737736" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.737328" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.738366" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.737992" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.738443" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.738622" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.734652" elapsed="0.003996"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.738803" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.714014" elapsed="0.025282"/>
</kw>
<arg>f8.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.666257" elapsed="0.073097"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.659216" elapsed="0.080267"/>
</test>
<test id="s1-s3-s1-t126" name="Test Is Flow 9 Deleted" line="326">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.750546" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.750706" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.750402" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.751356" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.750889" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.751823" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.751538" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.752291" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.752002" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.752742" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.752471" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.753684" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.752921" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.754210" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.753876" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.754782" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.754425" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.755367" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.754994" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.755883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.755568" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.756415" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.756080" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.756935" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.756612" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.750054" elapsed="0.006979"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.757589" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.757187" elapsed="0.000474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.758058" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.757815" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.767942" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.767633" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.773643" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.773781" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.773903" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.768100" elapsed="0.005829"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.774382" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.774100" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.776584" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.774576" elapsed="0.002059"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.778480" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.776712" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.776688" elapsed="0.001888"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.778718" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.778942" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.778808" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.778791" elapsed="0.000226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.779050" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:21.781229" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.781310" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.767309" elapsed="0.014034"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.784364" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.782097" elapsed="0.002331"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.782072" elapsed="0.002387"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.785223" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.784665" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.786002" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.785510" elapsed="0.000573"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.786155" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:21.786431" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.781634" elapsed="0.004832"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.786685" elapsed="0.000587"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.766704" elapsed="0.020657"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.796501" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.796177" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.802868" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.803022" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.803175" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.796658" elapsed="0.006553"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.803818" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.803463" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.807059" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.804082" elapsed="0.003068"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.809757" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.807266" elapsed="0.002559"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.807219" elapsed="0.002637"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.813162" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.813208" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.810048" elapsed="0.003183"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.815034" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.813324" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.813305" elapsed="0.001830"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.815169" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:21.815380" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.815425" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.795794" elapsed="0.019657"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.817602" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.815994" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.815976" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.818214" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.817816" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.818770" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.818418" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.818846" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:21.819024" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.815662" elapsed="0.003387"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.819274" elapsed="0.000388"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.795155" elapsed="0.024571"/>
</kw>
<arg>f9.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.746773" elapsed="0.073010"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.739825" elapsed="0.080077"/>
</test>
<test id="s1-s3-s1-t127" name="Test Is Flow 10 Deleted" line="328">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.830886" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.831031" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.830746" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.831677" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8db0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.831251" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.832138" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.831859" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.832663" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.832333" elapsed="0.000357"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.833116" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.832845" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.834216" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.833309" elapsed="0.000953"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.834757" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.834424" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.835326" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.834953" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.835845" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.835522" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.836362" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.836036" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.836872" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.836558" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.837399" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8db0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.837067" elapsed="0.000377"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.830418" elapsed="0.007083"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.838027" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.837649" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.838463" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.838207" elapsed="0.000359"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.846353" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.846038" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.851771" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.851889" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.851987" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.846508" elapsed="0.005507"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.852501" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.852194" elapsed="0.000354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.854663" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.852695" elapsed="0.002020"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.857099" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.854788" elapsed="0.002414"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.854768" elapsed="0.002492"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.857463" elapsed="0.000036"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.857786" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.857596" elapsed="0.000263"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.857573" elapsed="0.000319"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.857937" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:21.860259" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.860325" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.845718" elapsed="0.014639"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.863648" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.861116" elapsed="0.002599"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.861091" elapsed="0.002655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.864542" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.863962" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.865315" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.864805" elapsed="0.000547"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.865421" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:21.865676" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.860652" elapsed="0.005059"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.865929" elapsed="0.000560"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.845141" elapsed="0.021437"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.874647" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.874348" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.880282" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.880465" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.880578" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.874803" elapsed="0.005801"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.881064" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.880788" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.883326" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.881273" elapsed="0.002106"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.885211" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.883450" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.883430" elapsed="0.001868"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.888457" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.888522" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.885440" elapsed="0.003114"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.891088" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.888661" elapsed="0.002508"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.888635" elapsed="0.002569"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.891269" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:21.891545" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.891607" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.873952" elapsed="0.017686"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.894711" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.892488" elapsed="0.002289"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.892461" elapsed="0.002348"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.895580" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.895014" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.896123" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.895772" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.896199" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:21.896396" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.891938" elapsed="0.004484"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.896580" elapsed="0.000387"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.873334" elapsed="0.023697"/>
</kw>
<arg>f10.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.827170" elapsed="0.069917"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.820202" elapsed="0.077006"/>
</test>
<test id="s1-s3-s1-t128" name="Test Is Flow 11 Deleted" line="330">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.908474" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:21.908654" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.908327" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:21.909291" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:21.908838" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.909807" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.909475" elapsed="0.000359"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.910277" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.909988" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:21.910729" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:21.910457" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.911874" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:21.910904" elapsed="0.001001"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.912418" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.912067" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.912940" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.912619" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.913476" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.913132" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.913980" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.913667" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.914510" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.914174" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.915040" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:21.914705" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.907980" elapsed="0.007159"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.915699" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.915307" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.916124" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.915881" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.924015" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.923712" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.930022" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.930442" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.930882" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.924171" elapsed="0.006782"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.932188" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.931482" elapsed="0.000860"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.937779" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.932701" elapsed="0.005207"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:21.941257" elapsed="0.000051"/>
</return>
<status status="PASS" start="2026-05-25T00:36:21.938097" elapsed="0.003270"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.938042" elapsed="0.003361"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:21.941619" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.941945" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.941751" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:21.941727" elapsed="0.000324"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.942096" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:21.944486" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:21.944552" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.923393" elapsed="0.021191"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.947751" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.945423" elapsed="0.002397"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.945397" elapsed="0.002457"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.948726" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.948074" elapsed="0.000692"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.950122" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.949226" elapsed="0.000957"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.950331" elapsed="0.000066"/>
</return>
<msg time="2026-05-25T00:36:21.950740" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.944916" elapsed="0.005882"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.951194" elapsed="0.000902"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.922783" elapsed="0.029480"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.964354" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:21.964027" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:21.970674" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:21.970895" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:21.971133" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:21.964515" elapsed="0.006670"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.971991" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.971563" elapsed="0.000494"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.975159" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:21.972285" elapsed="0.003074"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.977964" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.975475" elapsed="0.002564"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.975441" elapsed="0.002631"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:21.981400" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:21.981449" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:21.978291" elapsed="0.003182"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:21.983427" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:21.981552" elapsed="0.001932"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.981533" elapsed="0.001976"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:21.983543" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:21.983754" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:21.983800" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:21.963647" elapsed="0.020177"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:21.986018" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:21.984423" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:21.984405" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.986663" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.986252" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:21.987246" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:21.986854" elapsed="0.000421"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:21.987324" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:21.987506" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:21.984060" elapsed="0.003472"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:21.987691" elapsed="0.000396"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:21.962964" elapsed="0.025188"/>
</kw>
<arg>f11.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.904657" elapsed="0.083558"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.897529" elapsed="0.090827"/>
</test>
<test id="s1-s3-s1-t129" name="Test Is Flow 14 Deleted" line="332">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:21.999939" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.000100" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:21.999794" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.000740" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.000303" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.001210" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.000926" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.001688" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.001412" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.002141" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.001867" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.003103" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.002338" elapsed="0.000797"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.003653" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.003313" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.004225" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.003895" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.004773" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.004442" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.005305" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.004968" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.005828" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.005506" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.006366" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.006027" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:21.999450" elapsed="0.007016"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.007029" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.006618" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.007476" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.007214" elapsed="0.000327"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.015354" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.015029" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.020779" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.020912" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.021029" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.015514" elapsed="0.005551"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.021559" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.021264" elapsed="0.000343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.023987" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.021762" elapsed="0.002276"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.025931" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.024117" elapsed="0.001889"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.024094" elapsed="0.001939"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.026181" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.026429" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.026291" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.026273" elapsed="0.000234"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.026540" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:22.028203" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.028263" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.014697" elapsed="0.013592"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.030468" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.028854" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.028837" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.031127" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.030686" elapsed="0.000468"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.031687" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.031332" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.031763" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.031944" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.028516" elapsed="0.003454"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.032129" elapsed="0.000423"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.014118" elapsed="0.018498"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.040474" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.040153" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.045855" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.046030" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.046159" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.040633" elapsed="0.005553"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.046803" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.046467" elapsed="0.000387"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.049189" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.047052" elapsed="0.002204"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.051208" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.049341" elapsed="0.001946"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.049316" elapsed="0.001995"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.055256" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.055327" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.051476" elapsed="0.003883"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.058175" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.055470" elapsed="0.002882"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.055443" elapsed="0.002950"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.058442" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:22.058730" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.058793" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.039773" elapsed="0.019054"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.061947" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.059687" elapsed="0.002325"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.059661" elapsed="0.002383"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.062844" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.062275" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.063604" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.063144" elapsed="0.000487"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.063681" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.063861" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.059179" elapsed="0.004708"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.064045" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.039137" elapsed="0.025382"/>
</kw>
<arg>f14.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:21.995854" elapsed="0.068724"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:21.988732" elapsed="0.075971"/>
</test>
<test id="s1-s3-s1-t130" name="Test Is Flow 15 Deleted" line="334">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.075786" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.075945" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.075640" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.076575" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dee30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.076131" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.077044" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.076760" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.077514" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.077225" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.077966" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.077695" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.078844" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.078144" elapsed="0.000731"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.079416" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.079062" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.079943" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.079616" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.080490" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.080140" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.081005" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.080687" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.081593" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.081263" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.082118" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dee30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.081794" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.075301" elapsed="0.006915"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.082945" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.082385" elapsed="0.000612"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.083417" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.083153" elapsed="0.000327"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.091469" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.091144" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.097852" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.098187" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.098539" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.091628" elapsed="0.006986"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.099888" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.099164" elapsed="0.000841"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.105354" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.100391" elapsed="0.005089"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.110073" elapsed="0.000074"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.105666" elapsed="0.004606"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.105611" elapsed="0.004726"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.110676" elapsed="0.000050"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.111277" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.110884" elapsed="0.000517"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.110845" elapsed="0.000608"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.111489" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:22.113150" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.113195" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.090812" elapsed="0.022406"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.115535" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.113891" elapsed="0.001692"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.113873" elapsed="0.001733"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.116179" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.115759" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.116750" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.116390" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.116827" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.117011" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.113536" elapsed="0.003502"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.117199" elapsed="0.000416"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.090229" elapsed="0.027453"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.125598" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.125288" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.131936" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.132223" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.132508" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.125758" elapsed="0.006808"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.133594" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.132984" elapsed="0.000706"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.138556" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.133987" elapsed="0.004669"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.141655" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.138808" elapsed="0.002924"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.138763" elapsed="0.003004"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.144947" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.144996" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.141983" elapsed="0.003037"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.146848" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.145101" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.145081" elapsed="0.001852"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.146986" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:22.147200" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.147260" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.124893" elapsed="0.022392"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.149509" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.147885" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.147867" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.150159" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.149735" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.150808" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.150442" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.150886" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.151096" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.147532" elapsed="0.003590"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.151300" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.124260" elapsed="0.027514"/>
</kw>
<arg>f15.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.071952" elapsed="0.079883"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.065010" elapsed="0.086953"/>
</test>
<test id="s1-s3-s1-t131" name="Test Is Flow 16 Deleted" line="336">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.163166" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.163349" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.163015" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.163971" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6ed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.163539" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.164465" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.164158" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.164930" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.164653" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.165404" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.165111" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.166497" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.165586" elapsed="0.000943"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.167065" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.166696" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.167615" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.167285" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.168148" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.167814" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.168682" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.168361" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.169207" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.168882" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.169752" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6ed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.169424" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.162644" elapsed="0.007206"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.170412" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.170003" elapsed="0.000484"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.170893" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.170644" elapsed="0.000399"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.178783" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.178471" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.186098" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.186436" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.186716" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.178970" elapsed="0.007810"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.188149" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.187310" elapsed="0.000985"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.192885" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.188651" elapsed="0.004309"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.195859" elapsed="0.000051"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.193075" elapsed="0.002895"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.193042" elapsed="0.002966"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.196227" elapsed="0.000055"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.196609" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.196403" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.196375" elapsed="0.000347"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.196769" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:22.199314" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.199383" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.178138" elapsed="0.021280"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.202719" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.200300" elapsed="0.002489"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.200273" elapsed="0.002550"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.203705" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.203067" elapsed="0.000678"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.204605" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.203989" elapsed="0.000657"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.204721" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:22.205078" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.199766" elapsed="0.005350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.205378" elapsed="0.000590"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.177566" elapsed="0.028500"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.214573" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.214221" elapsed="0.000380"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.220536" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.220731" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.220870" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.214737" elapsed="0.006162"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.221539" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.221138" elapsed="0.000450"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.225761" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.221735" elapsed="0.004079"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.227827" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.225898" elapsed="0.002002"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.225873" elapsed="0.002061"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.231793" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.231860" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.228136" elapsed="0.003757"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.234458" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.232004" elapsed="0.002535"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.231978" elapsed="0.002597"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.234623" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:22.234924" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.234991" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.213829" elapsed="0.021194"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.238098" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.235856" elapsed="0.002308"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.235831" elapsed="0.002365"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.239287" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.238427" elapsed="0.000907"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.239925" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.239561" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.240003" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.240185" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.235368" elapsed="0.004843"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.240387" elapsed="0.000442"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.213073" elapsed="0.027886"/>
</kw>
<arg>f16.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.159255" elapsed="0.081763"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.152297" elapsed="0.088845"/>
</test>
<test id="s1-s3-s1-t132" name="Test Is Flow 17 Deleted" line="338">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.253502" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.253669" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.253347" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.254318" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7b830&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.253860" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.254793" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.254506" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.255292" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.255000" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.255747" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.255475" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.257322" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.256265" elapsed="0.001099"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.257897" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.257539" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.258463" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.258101" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.259045" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.258666" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.259668" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.259260" elapsed="0.000472"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.260506" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.259953" elapsed="0.000627"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.261330" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7b830&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.260812" elapsed="0.000587"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.252983" elapsed="0.008504"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.262351" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.261718" elapsed="0.000681"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.263018" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.262628" elapsed="0.000638"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.273724" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.273401" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.278861" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.279099" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.279297" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.273888" elapsed="0.005475"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.280058" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.279650" elapsed="0.000479"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.283582" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.280398" elapsed="0.003263"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.286466" elapsed="0.000050"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.283780" elapsed="0.002796"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.283745" elapsed="0.002869"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.286828" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.287323" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.287086" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.287055" elapsed="0.000386"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.287489" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:22.289944" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.290012" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.273041" elapsed="0.017007"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.292770" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.290994" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.290953" elapsed="0.001887"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.293436" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.292998" elapsed="0.000466"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.293985" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.293629" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.294061" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:22.294260" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.290404" elapsed="0.003884"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.294450" elapsed="0.000572"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.272430" elapsed="0.022658"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.302969" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.302621" elapsed="0.000376"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.308941" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.309191" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.309366" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.303130" elapsed="0.006267"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.309978" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.309612" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.313030" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.310176" elapsed="0.002927"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.315755" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.313211" elapsed="0.002619"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.313179" elapsed="0.002685"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.319744" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.319810" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.316102" elapsed="0.003742"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.322375" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.319955" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.319928" elapsed="0.002562"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.322537" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:22.322817" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.322917" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.302221" elapsed="0.020731"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.325462" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.323771" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.323746" elapsed="0.001787"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.326092" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.325685" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.326651" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.326297" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.326727" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:22.326939" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.323297" elapsed="0.003668"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.327124" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.301594" elapsed="0.026009"/>
</kw>
<arg>f17.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.248783" elapsed="0.078880"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.241488" elapsed="0.086304"/>
</test>
<test id="s1-s3-s1-t133" name="Test Is Flow 18 Deleted" line="340">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.339068" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.339231" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.338922" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.339840" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355800&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.339432" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.340372" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.340021" elapsed="0.000380"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.340829" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.340555" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.341294" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.341007" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.342269" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.341472" elapsed="0.000834"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.342813" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.342470" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.343374" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.343028" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.343900" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.343573" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.344425" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.344095" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.344940" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.344623" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.345476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355800&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.345137" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.338569" elapsed="0.007005"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.346107" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.345724" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.346546" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.346303" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.354420" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.354096" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.360110" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.360272" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.360390" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.354578" elapsed="0.005839"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.360896" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.360628" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.363110" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.361089" elapsed="0.002074"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.365026" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.363254" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.363217" elapsed="0.001907"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.365286" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.365517" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.365380" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.365364" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.365625" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:22.367392" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.367440" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.353776" elapsed="0.013697"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.370743" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.368381" elapsed="0.002428"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.368338" elapsed="0.002503"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.371686" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.371090" elapsed="0.000634"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.372470" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.371951" elapsed="0.000558"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.372578" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:22.372830" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.367851" elapsed="0.005015"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.373084" elapsed="0.000571"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.353199" elapsed="0.020546"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.382808" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.382504" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.388095" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.388279" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.388418" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.383042" elapsed="0.005412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.389041" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.388682" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.392423" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.389328" elapsed="0.003168"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.395147" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.392649" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.392620" elapsed="0.002649"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.399160" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.399226" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.395470" elapsed="0.003811"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.401169" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.399392" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.399366" elapsed="0.001901"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.401303" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.401506" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.401550" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.382106" elapsed="0.019467"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.403771" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.402122" elapsed="0.001696"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.402104" elapsed="0.001737"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.404412" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.403990" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.404961" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.404608" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.405037" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.405217" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.401789" elapsed="0.003472"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.405420" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.381475" elapsed="0.024401"/>
</kw>
<arg>f18.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.335287" elapsed="0.070647"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.328138" elapsed="0.077918"/>
</test>
<test id="s1-s3-s1-t134" name="Test Is Flow 19 Deleted" line="342">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.417100" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.417270" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.416955" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.417857" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0ee80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.417456" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.418341" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.418040" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.418801" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.418527" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.419522" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.419130" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.420376" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.419723" elapsed="0.000685"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.421122" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.420573" elapsed="0.000594"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.421737" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.421400" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.422287" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.421939" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.422823" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.422500" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.423474" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.423098" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.424020" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0ee80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.423685" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.416623" elapsed="0.007500"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.424701" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.424295" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.425137" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.424887" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.433046" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.432742" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.438183" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.438502" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.438766" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.433203" elapsed="0.005674"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.439924" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.439286" elapsed="0.000750"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.445372" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.440429" elapsed="0.005068"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.448582" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.445674" elapsed="0.002985"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.445624" elapsed="0.003061"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.448831" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.449062" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.448924" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.448907" elapsed="0.000269"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.449213" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:22.450895" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.450942" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.432426" elapsed="0.018539"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.453144" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.451549" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.451531" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.453785" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.453378" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.454348" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.453976" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.454425" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.454607" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.451188" elapsed="0.003444"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.454791" elapsed="0.000416"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.431834" elapsed="0.023456"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.463249" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.462930" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.468661" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.468909" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.469091" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.463410" elapsed="0.005721"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.469883" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.469452" elapsed="0.000497"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.473471" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.470153" elapsed="0.003396"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.476294" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.473711" elapsed="0.002657"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.473629" elapsed="0.002772"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.480010" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.480074" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.476601" elapsed="0.003506"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.482629" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.480214" elapsed="0.002495"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.480189" elapsed="0.002555"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.482791" elapsed="0.000059"/>
</return>
<msg time="2026-05-25T00:36:22.483092" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.483155" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.462533" elapsed="0.020653"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.486350" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.484087" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.484061" elapsed="0.002387"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.487310" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.486661" elapsed="0.000688"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.487913" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.487553" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.487991" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.488175" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.483530" elapsed="0.004671"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.488377" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.461883" elapsed="0.026959"/>
</kw>
<arg>f19.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.413329" elapsed="0.075571"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.406347" elapsed="0.082684"/>
</test>
<test id="s1-s3-s1-t135" name="Test Is Flow 20 Deleted" line="344">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.500367" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.500526" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.500205" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.501115" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.500712" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.501601" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.501315" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.502057" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.501783" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.502525" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.502249" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.503315" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.502705" elapsed="0.000642"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.503844" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.503508" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.504583" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.504044" elapsed="0.000584"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.505122" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.504785" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.505660" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.505335" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.506190" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.505861" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.506771" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.506428" elapsed="0.000429"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.499869" elapsed="0.007095"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.507544" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.507127" elapsed="0.000449"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.507978" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.507732" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.515936" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.515619" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.521590" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.521721" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.521831" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.516096" elapsed="0.005771"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.522327" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.522042" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.524547" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.522521" elapsed="0.002077"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.526445" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.524673" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.524651" elapsed="0.001893"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.526688" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.526969" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.526781" elapsed="0.000244"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.526764" elapsed="0.000285"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.527082" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:22.529262" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.529329" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.515292" elapsed="0.014070"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.532478" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.530130" elapsed="0.002414"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.530105" elapsed="0.002470"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.533371" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.532784" elapsed="0.000624"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.534126" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.533636" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.534305" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:22.534569" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.529664" elapsed="0.004940"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.534842" elapsed="0.000571"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.514668" elapsed="0.020836"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.544493" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.544172" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.550952" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.551343" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.551648" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.544648" elapsed="0.007063"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.553043" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.552207" elapsed="0.000950"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.557693" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.553529" elapsed="0.004239"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.560447" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.557894" elapsed="0.002636"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.557854" elapsed="0.002710"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.564385" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.564453" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.560770" elapsed="0.003721"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.567109" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.564607" elapsed="0.002583"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.564579" elapsed="0.002647"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.567297" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:36:22.567566" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.567611" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.543790" elapsed="0.023844"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.569905" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.568282" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.568263" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.570591" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.570134" elapsed="0.000484"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.571184" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.570810" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.571278" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:22.571464" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.567904" elapsed="0.003586"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.571650" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.543142" elapsed="0.029063"/>
</kw>
<arg>f20.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.496568" elapsed="0.075726"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.489399" elapsed="0.083039"/>
</test>
<test id="s1-s3-s1-t136" name="Test Is Flow 21 Deleted" line="346">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.583810" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.583977" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.583662" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.584619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d18a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.584166" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.585092" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.584805" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.585572" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.585290" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.586025" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.585751" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.587181" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.586205" elapsed="0.001007"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.587739" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.587396" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.588285" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.587941" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.588823" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.588491" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.589352" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.589020" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.589876" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.589555" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.590460" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d18a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.590076" elapsed="0.000428"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.583316" elapsed="0.007244"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.591120" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.590712" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.591611" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.591358" elapsed="0.000353"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.599573" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.599252" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.605394" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.605512" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.605612" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.599734" elapsed="0.005904"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.606058" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.605800" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.608280" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.606264" elapsed="0.002068"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.610160" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.608405" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.608385" elapsed="0.001883"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.610415" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.610647" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.610512" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.610495" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.610756" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:22.612857" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.612920" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.598913" elapsed="0.014039"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.616064" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.613784" elapsed="0.002345"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.613758" elapsed="0.002403"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.616952" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.616387" elapsed="0.000603"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.617737" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.617217" elapsed="0.000557"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.617843" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:22.618093" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.613270" elapsed="0.004858"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.618367" elapsed="0.000600"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.598312" elapsed="0.020746"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.627163" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.626856" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.632146" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.632567" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.632802" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.627337" elapsed="0.005525"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.633890" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.633279" elapsed="0.000719"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.639504" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.634381" elapsed="0.005203"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.642407" elapsed="0.000031"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.639692" elapsed="0.002804"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.639662" elapsed="0.002870"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.646969" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.647041" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.642750" elapsed="0.004328"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.649858" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.647197" elapsed="0.002747"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.647168" elapsed="0.002814"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.650032" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:22.650353" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.650421" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.626414" elapsed="0.024041"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.653039" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.651360" elapsed="0.001727"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.651333" elapsed="0.001777"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.653710" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.653280" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.654295" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.653909" elapsed="0.000414"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.654374" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.654558" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.650829" elapsed="0.003755"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.654778" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.625750" elapsed="0.029513"/>
</kw>
<arg>f21.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.579901" elapsed="0.075422"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.572770" elapsed="0.082672"/>
</test>
<test id="s1-s3-s1-t137" name="Test Is Flow 22 Deleted" line="348">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.666625" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.666803" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.666484" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.667461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db116c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.667003" elapsed="0.000490"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.668026" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.667650" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.668515" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.668213" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.668992" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.668697" elapsed="0.000321"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.670105" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.669173" elapsed="0.000964"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.670666" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.670324" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.671254" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.670898" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.671788" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.671454" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.672396" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.671996" elapsed="0.000453"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.672936" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.672606" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.673515" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db116c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.673165" elapsed="0.000393"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.666127" elapsed="0.007489"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.674169" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.673768" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.674623" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.674374" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.682522" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.682189" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.688316" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.688576" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.688862" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.682683" elapsed="0.006238"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.689889" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.689315" elapsed="0.000676"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.695133" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.690375" elapsed="0.004909"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.699500" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.695452" elapsed="0.004119"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.695407" elapsed="0.004189"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.699741" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.699966" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.699832" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.699816" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.700073" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:22.701723" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.701767" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.681854" elapsed="0.019936"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.703985" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.702355" elapsed="0.001678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.702337" elapsed="0.001719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.704622" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.704202" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.705168" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.704813" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.705259" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.705443" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.702005" elapsed="0.003464"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.705627" elapsed="0.000390"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.681284" elapsed="0.024799"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.713996" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.713692" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.721094" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.721223" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.721363" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.714156" elapsed="0.007234"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.721981" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.721608" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.725198" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.722271" elapsed="0.003080"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.728047" elapsed="0.000040"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.725454" elapsed="0.002696"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.725426" elapsed="0.002758"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.732073" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.732126" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.728413" elapsed="0.003736"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.733990" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.732229" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.732210" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.734107" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.734327" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.734372" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.713308" elapsed="0.021086"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.736657" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.735001" elapsed="0.001704"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.734983" elapsed="0.001744"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.737307" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.736878" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.737858" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.737498" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.737935" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.738117" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.734634" elapsed="0.003508"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.738317" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.712663" elapsed="0.026130"/>
</kw>
<arg>f22.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.662738" elapsed="0.076112"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.655739" elapsed="0.083234"/>
</test>
<test id="s1-s3-s1-t138" name="Test Is Flow 23 Deleted" line="350">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.750144" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.750315" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.750000" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.750995" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cab60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.750500" elapsed="0.000525"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.751489" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.751182" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.751944" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.751669" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.752419" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.752130" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.753527" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.752602" elapsed="0.000956"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.754051" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.753716" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.754626" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.754299" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.755284" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.754899" elapsed="0.000430"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.755944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.755486" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.756476" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.756140" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.756991" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cab60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.756671" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.749659" elapsed="0.007429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.757637" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.757252" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.758058" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.757818" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.768476" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.768124" elapsed="0.000383"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.773294" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.773429" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.773530" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.768644" elapsed="0.004911"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.773978" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.773722" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.776639" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.774167" elapsed="0.002544"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.779388" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.776818" elapsed="0.002733"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.776786" elapsed="0.002803"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.779793" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.780110" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.779921" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.779897" elapsed="0.000319"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.780284" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:36:22.782577" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.782639" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.767791" elapsed="0.014880"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.785783" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.783539" elapsed="0.002308"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.783513" elapsed="0.002366"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.786678" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.786086" elapsed="0.000679"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.787543" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.787042" elapsed="0.000528"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.787620" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:22.787800" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.783042" elapsed="0.004784"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.787984" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.767016" elapsed="0.021442"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.796736" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.796431" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.801606" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.801717" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.801824" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.796892" elapsed="0.004958"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.802294" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.802016" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.804561" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.802487" elapsed="0.002125"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.806457" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.804681" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.804662" elapsed="0.001872"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.810391" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.810457" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.806675" elapsed="0.003815"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.813150" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.810600" elapsed="0.002629"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.810574" elapsed="0.002761"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.813389" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:22.813670" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.813731" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.796035" elapsed="0.017728"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.816534" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.814555" elapsed="0.002027"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.814529" elapsed="0.002075"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.817159" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.816754" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.817728" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.817369" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.817804" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.817985" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.814063" elapsed="0.003948"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.818170" elapsed="0.000441"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.795402" elapsed="0.023275"/>
</kw>
<arg>f23.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.746228" elapsed="0.072540"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.739280" elapsed="0.079639"/>
</test>
<test id="s1-s3-s1-t139" name="Test Is Flow 24 Deleted" line="352">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.830402" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.830552" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.830255" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.831185" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb650&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.830781" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.831677" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.831388" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.832129" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.831858" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.832601" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.832324" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.833346" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.832777" elapsed="0.000601"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.833873" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.833538" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.834409" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.834071" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.835002" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.834608" elapsed="0.000438"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.835542" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.835200" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.836102" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.835739" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.836646" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb650&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.836318" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.829902" elapsed="0.006842"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.837308" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.836896" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.837743" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.837498" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.845707" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.845400" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.850445" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.850567" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.850676" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.845866" elapsed="0.004874"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.851166" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.850909" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.853521" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.851378" elapsed="0.002195"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.855529" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.853645" elapsed="0.001953"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.853624" elapsed="0.002149"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.855919" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.856148" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.856013" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.855996" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.856273" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:22.857935" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.857981" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.845054" elapsed="0.012949"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.860531" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.858572" elapsed="0.002025"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.858553" elapsed="0.002075"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.861479" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.860835" elapsed="0.000683"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.862263" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.861746" elapsed="0.000555"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.862372" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:22.862629" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.858215" elapsed="0.004449"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.862943" elapsed="0.000600"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.844493" elapsed="0.019139"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.873863" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.873563" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.882015" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.882370" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.882722" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.874022" elapsed="0.008782"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.883941" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.883281" elapsed="0.000788"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.889681" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.884457" elapsed="0.005349"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.893347" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.889993" elapsed="0.003434"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.889940" elapsed="0.003522"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.897655" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.897724" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.893679" elapsed="0.004085"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.900624" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.897889" elapsed="0.002829"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.897860" elapsed="0.002897"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.900808" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:36:22.901120" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.901186" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.873165" elapsed="0.028055"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.904582" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.902207" elapsed="0.002425"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.902177" elapsed="0.002478"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.905299" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.904817" elapsed="0.000510"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.905885" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.905503" elapsed="0.000410"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.906036" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:22.906232" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.901644" elapsed="0.004632"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.906448" elapsed="0.000451"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.872537" elapsed="0.034427"/>
</kw>
<arg>f24.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.826295" elapsed="0.080730"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.819249" elapsed="0.087912"/>
</test>
<test id="s1-s3-s1-t140" name="Test Is Flow 25 Deleted" line="354">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:22.918751" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:22.918948" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:22.918547" elapsed="0.000433"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:22.919671" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:22.919155" elapsed="0.000549"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.920160" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.919866" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.920642" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.920364" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:22.921110" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:22.920834" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.922221" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:22.921354" elapsed="0.000917"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.922846" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.922441" elapsed="0.000455"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.923407" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.923055" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.923956" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.923613" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.924493" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.924154" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.925029" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.924693" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.925572" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:22.925245" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:22.918137" elapsed="0.007539"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.926288" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.925857" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.926770" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.926476" elapsed="0.000452"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.935429" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.935055" elapsed="0.000405"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.941742" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.941901" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.942048" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.935635" elapsed="0.006454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.942617" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.942316" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.945696" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.942868" elapsed="0.002906"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:22.948769" elapsed="0.000053"/>
</return>
<status status="PASS" start="2026-05-25T00:36:22.945901" elapsed="0.002984"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.945862" elapsed="0.003062"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:22.949195" elapsed="0.000068"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.949639" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.949411" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:22.949377" elapsed="0.000384"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.949815" elapsed="0.000024"/>
</return>
<msg time="2026-05-25T00:36:22.952397" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:22.952466" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.934702" elapsed="0.017798"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.955756" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.953413" elapsed="0.002390"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.953385" elapsed="0.002441"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.956452" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.955986" elapsed="0.000493"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.957007" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.956648" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.957084" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:22.957286" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.952859" elapsed="0.004455"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.957491" elapsed="0.000414"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.933991" elapsed="0.023980"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.966021" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:22.965703" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:22.972716" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:22.972973" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:22.973105" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:22.966186" elapsed="0.006947"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.973723" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.973395" elapsed="0.000375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.976313" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:22.973916" elapsed="0.002450"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.978257" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.976453" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.976424" elapsed="0.001918"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:22.982285" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:22.982357" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:22.978492" elapsed="0.003900"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:22.985254" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:22.982512" elapsed="0.002829"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.982482" elapsed="0.002896"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:22.985429" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:22.985738" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:22.985803" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:22.965302" elapsed="0.020534"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:22.989286" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:22.986802" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:22.986770" elapsed="0.002620"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.990264" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.989622" elapsed="0.000685"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:22.991186" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:22.990552" elapsed="0.000674"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:22.991327" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:22.991561" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:22.986199" elapsed="0.005388"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:22.991750" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:22.964632" elapsed="0.027595"/>
</kw>
<arg>f25.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.914644" elapsed="0.077663"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.907507" elapsed="0.084936"/>
</test>
<test id="s1-s3-s1-t141" name="Test Is Flow 31 Deleted" line="356">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.003772" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.003946" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.003624" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.004585" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb830&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.004134" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.005121" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.004769" elapsed="0.000381"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.005608" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.005328" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.006061" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.005787" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.007215" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.006254" elapsed="0.001009"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.007774" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.007432" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.008315" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.007976" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.008849" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.008521" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.009378" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.009044" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.009900" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.009579" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.010437" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb830&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.010099" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.003277" elapsed="0.007258"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.011153" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.010742" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.011606" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.011355" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.019535" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.019205" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.024785" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.024914" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.025012" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.019693" elapsed="0.005383"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.025531" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.025265" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.027752" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.025721" elapsed="0.002083"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.029657" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.027880" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.027857" elapsed="0.001897"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.029899" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.030131" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.029993" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.029976" elapsed="0.000231"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.030255" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:36:23.032123" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.032186" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.018880" elapsed="0.013338"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.035302" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.033010" elapsed="0.002358"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.032985" elapsed="0.002414"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.036168" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.035612" elapsed="0.000593"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.036946" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.036455" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.037049" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:23.037323" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.032545" elapsed="0.004814"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.037584" elapsed="0.000541"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.018284" elapsed="0.019930"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.047662" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.047358" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.053381" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.053495" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.053591" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.047817" elapsed="0.005799"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.054029" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.053775" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.056436" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.054217" elapsed="0.002307"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.058378" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.056597" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.056576" elapsed="0.001877"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.061184" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.061231" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.058602" elapsed="0.002668"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.063105" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.061349" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.061331" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.063221" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:23.063439" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.063486" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.046959" elapsed="0.016562"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.066557" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.064309" elapsed="0.002341"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.064283" elapsed="0.002401"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.067483" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.066892" elapsed="0.000629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.068270" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.067750" elapsed="0.000558"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.068378" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:23.068628" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.063823" elapsed="0.004840"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.068879" elapsed="0.000562"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.046304" elapsed="0.023225"/>
</kw>
<arg>f31.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:22.999731" elapsed="0.069879"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:22.992660" elapsed="0.077114"/>
</test>
<test id="s1-s3-s1-t142" name="Test Is Flow 36 Deleted" line="358">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.082348" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.082508" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.082188" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.083149" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df6a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.082729" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.083640" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.083349" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.084097" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.083821" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.084569" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.084293" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.085570" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.084750" elapsed="0.000851"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.086103" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.085762" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.086716" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.086365" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.087262" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.086915" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.087777" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.087459" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.088315" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.087979" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.088837" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df6a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.088515" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.081850" elapsed="0.007086"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.089490" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.089089" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.089916" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.089673" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.097839" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.097533" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.103027" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.103152" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.103273" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.097997" elapsed="0.005304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.104078" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.103466" elapsed="0.000716"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.109051" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.104546" elapsed="0.004618"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.113403" elapsed="0.000066"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.109359" elapsed="0.004196"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.109312" elapsed="0.004300"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.113930" elapsed="0.000050"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.114472" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.114133" elapsed="0.000587"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.114096" elapsed="0.000684"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.114856" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:23.116858" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.116903" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.097196" elapsed="0.019730"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.119112" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.117492" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.117474" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.119749" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.119346" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.120307" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.119939" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.120383" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:23.120562" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.117141" elapsed="0.003446"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.120743" elapsed="0.000392"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.096623" elapsed="0.024576"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.129077" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.128773" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.135002" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.135118" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.135217" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.129249" elapsed="0.006032"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.135806" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.135448" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.139178" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.136070" elapsed="0.003214"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.141878" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.139386" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.139356" elapsed="0.002626"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.145792" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.145857" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.142183" elapsed="0.003707"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.148171" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.145998" elapsed="0.002230"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.145972" elapsed="0.002296"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.148303" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:23.148503" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.148547" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.128390" elapsed="0.020179"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.150809" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.149173" elapsed="0.001683"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.149155" elapsed="0.001723"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.151448" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.151028" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.151991" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.151639" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.152068" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:23.152264" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.148834" elapsed="0.003457"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.152449" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.127747" elapsed="0.025159"/>
</kw>
<arg>f36.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.078517" elapsed="0.074447"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.070033" elapsed="0.083056"/>
</test>
<test id="s1-s3-s1-t143" name="Test Is Flow 38 Deleted" line="360">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.164011" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.164163" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.163867" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.164772" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db13bf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.164362" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.165250" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.164954" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.165707" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.165432" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.166160" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.165887" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.168859" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.166352" elapsed="0.002539"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.169409" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.169055" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.169931" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.169608" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.170470" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.170126" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.171001" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.170684" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.171532" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.171197" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.172083" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db13bf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.171735" elapsed="0.000428"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.163537" elapsed="0.008684"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.172791" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.172395" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.173225" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.172976" elapsed="0.000328"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.181268" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.180940" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.187278" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.187560" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.187958" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.181432" elapsed="0.006584"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.188998" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.188414" elapsed="0.000687"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.193165" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.189463" elapsed="0.003796"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.195948" elapsed="0.000049"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.193373" elapsed="0.002681"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.193340" elapsed="0.002750"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.196317" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.196640" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.196448" elapsed="0.000265"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.196425" elapsed="0.000321"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.196791" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:23.199197" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.199284" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.180615" elapsed="0.018704"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.201555" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.199925" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.199906" elapsed="0.001719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.202185" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.201777" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.202878" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.202448" elapsed="0.000463"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.202969" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:23.203156" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.199585" elapsed="0.003597"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.203360" elapsed="0.000409"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.180007" elapsed="0.023828"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.211953" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.211649" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.216482" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.216645" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.216781" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.212113" elapsed="0.004704"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.217428" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.217046" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.260147" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.217696" elapsed="0.042523"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.262126" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.260342" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.260310" elapsed="0.001895"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.265076" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.265124" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.262404" elapsed="0.002744"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.267040" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.265228" elapsed="0.001869"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.265209" elapsed="0.001913"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.267157" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:23.267384" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.267429" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.211260" elapsed="0.056193"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.269663" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.268041" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.268023" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.270347" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.269886" elapsed="0.000488"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.270979" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.270581" elapsed="0.000425"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.271056" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:23.271254" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.267691" elapsed="0.003590"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.271513" elapsed="0.000406"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.210529" elapsed="0.061455"/>
</kw>
<arg>f38.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.160215" elapsed="0.111827"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.153306" elapsed="0.118863"/>
</test>
<test id="s1-s3-s1-t144" name="Test Is Flow 43 Deleted" line="362">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.283440" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.283607" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.283292" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.284212" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb78fe0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.283790" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.284700" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.284414" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.285151" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.284879" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.285618" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.285344" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.286704" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.285795" elapsed="0.000946"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.287274" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.286918" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.287905" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.287472" elapsed="0.000474"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.288443" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.288098" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.288952" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.288637" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.289486" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.289147" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.290001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb78fe0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.289682" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.282935" elapsed="0.007162"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.290694" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.290264" elapsed="0.000467"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.291158" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.290909" elapsed="0.000362"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.299197" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.298881" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.305165" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.305307" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.305408" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.299373" elapsed="0.006060"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.305853" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.305596" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.308163" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.306041" elapsed="0.002174"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.310068" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.308304" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.308283" elapsed="0.001878"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.310319" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.310584" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.310412" elapsed="0.000235"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.310395" elapsed="0.000281"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.310715" elapsed="0.000018"/>
</return>
<msg time="2026-05-25T00:36:23.312403" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.312449" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.298483" elapsed="0.013989"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.315385" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.313127" elapsed="0.002324"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.313108" elapsed="0.002377"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.316276" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.315695" elapsed="0.000621"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.317038" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.316543" elapsed="0.000533"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.317144" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:23.317420" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.312684" elapsed="0.004772"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.317676" elapsed="0.000547"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.297902" elapsed="0.020434"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.328042" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.327739" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.334403" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.334709" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.334890" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.328198" elapsed="0.006725"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.335527" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.335164" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.337779" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.335721" elapsed="0.002111"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.339793" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.337917" elapsed="0.001932"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.337891" elapsed="0.001982"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.342656" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.342705" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.340021" elapsed="0.002708"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.344959" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.342807" elapsed="0.002231"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.342789" elapsed="0.002283"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.345119" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:23.345428" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.345493" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.327353" elapsed="0.018174"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.348736" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.346359" elapsed="0.002444"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.346334" elapsed="0.002501"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.349645" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.349050" elapsed="0.000635"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.350426" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.349913" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.350590" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:36:23.350883" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.345861" elapsed="0.005059"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.351141" elapsed="0.000521"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.326691" elapsed="0.025038"/>
</kw>
<arg>f43.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.279558" elapsed="0.072230"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.272496" elapsed="0.079420"/>
</test>
<test id="s1-s3-s1-t145" name="Test Is Flow 45 Deleted" line="364">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.363262" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.363429" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.363100" elapsed="0.000358"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.364023" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebd8360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.363617" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.364582" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.364206" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.365044" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.364767" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.365520" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.365226" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.366329" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.365699" elapsed="0.000661"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.366945" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.366567" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.367491" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.367146" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.368014" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.367688" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.368542" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.368210" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.369058" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.368740" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.369596" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebd8360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.369274" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.362742" elapsed="0.006953"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.370245" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.369845" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.370729" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.370432" elapsed="0.000368"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.378793" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.378398" elapsed="0.000428"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.383882" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.384064" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.384220" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.378977" elapsed="0.005312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.384952" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.384591" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.388300" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.385218" elapsed="0.003155"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.391090" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.388483" elapsed="0.002711"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.388449" elapsed="0.002781"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.391487" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.391721" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.391584" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.391567" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.391828" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:23.393489" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.393535" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.378044" elapsed="0.015514"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.395813" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.394110" elapsed="0.001750"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.394092" elapsed="0.001790"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.396456" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.396032" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.396998" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.396646" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.397073" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:23.397270" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.393776" elapsed="0.003521"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.397455" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.377444" elapsed="0.020468"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.405918" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.405617" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.412727" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.412909" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.413061" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.406076" elapsed="0.007020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.413787" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.413396" elapsed="0.000456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.417043" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.414053" elapsed="0.003261"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.420009" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.417430" elapsed="0.002654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.417396" elapsed="0.002721"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.423835" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.423882" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.420338" elapsed="0.003567"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.425917" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.423984" elapsed="0.001990"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.423964" elapsed="0.002035"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.426033" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:23.426256" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.426303" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.405212" elapsed="0.021114"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.428614" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.426993" elapsed="0.001668"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.426974" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.429280" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.428840" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.429829" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.429473" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.429905" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:23.430087" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.426611" elapsed="0.003502"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.430286" elapsed="0.000486"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.404587" elapsed="0.026260"/>
</kw>
<arg>f45.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.359369" elapsed="0.071540"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.352119" elapsed="0.078918"/>
</test>
<test id="s1-s3-s1-t146" name="Test Is Flow 101 Deleted" line="366">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.442118" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.442307" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.441973" elapsed="0.000364"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.443029" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6c00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.442548" elapsed="0.000510"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.443521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.443215" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.443974" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.443702" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.444440" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.444152" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.445393" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.444623" elapsed="0.000802"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.445920" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.445584" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.446546" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.446171" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.447135" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.446784" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.447664" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.447348" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.448176" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.447859" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.448710" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6c00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.448390" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.441634" elapsed="0.007173"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.449360" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.448958" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.449787" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.449544" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.457963" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.457647" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.463156" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.463314" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.463415" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.458125" elapsed="0.005315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.464058" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.463673" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.467222" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.464367" elapsed="0.002949"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.469898" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.467424" elapsed="0.002623"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.467392" elapsed="0.002695"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.470312" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.470699" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.470444" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.470420" elapsed="0.000402"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.470868" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:23.473172" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.473253" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.457326" elapsed="0.015962"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.476152" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.474061" elapsed="0.002139"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.474036" elapsed="0.002186"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.476790" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.476385" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.477347" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.476979" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.477423" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:23.477607" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.473593" elapsed="0.004038"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.477789" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.456737" elapsed="0.021523"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.486229" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.485925" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.491841" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.491959" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.492058" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.486403" elapsed="0.005680"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.492544" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.492279" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.494999" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.492733" elapsed="0.002320"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.497490" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.495127" elapsed="0.002440"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.495105" elapsed="0.002496"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.501894" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.501964" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.497802" elapsed="0.004198"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.504861" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.502121" elapsed="0.002825"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.502092" elapsed="0.002890"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.505105" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:36:23.505436" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.505501" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.485544" elapsed="0.019990"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.508458" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.506414" elapsed="0.002091"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.506387" elapsed="0.002140"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.509110" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.508680" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.509681" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.509319" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.509759" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:23.509939" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.505880" elapsed="0.004085"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.510124" elapsed="0.000452"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.484902" elapsed="0.025753"/>
</kw>
<arg>f101.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.438229" elapsed="0.072499"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.431267" elapsed="0.079594"/>
</test>
<test id="s1-s3-s1-t147" name="Test Is Flow 102 Deleted" line="368">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.521838" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.522014" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.521694" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.522753" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.522200" elapsed="0.000583"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.523223" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.522939" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.523695" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.523423" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.524141" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.523871" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.525281" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.524331" elapsed="0.000982"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.525815" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.525476" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.526351" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.526013" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.526958" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.526594" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.527489" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.527154" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.528121" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.527688" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.528715" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.528389" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.521359" elapsed="0.007453"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.529363" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.528961" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.529784" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.529543" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.537773" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.537464" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.543160" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.543313" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.543414" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.537930" elapsed="0.005511"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.543864" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.543609" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.546054" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.544053" elapsed="0.002053"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.548352" elapsed="0.000045"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.546181" elapsed="0.002271"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.546159" elapsed="0.002328"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.549529" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.549873" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.549677" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.549651" elapsed="0.000328"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.550025" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:23.553641" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.553708" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.537128" elapsed="0.016613"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.557016" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.554759" elapsed="0.002324"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.554730" elapsed="0.002385"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.557955" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.557352" elapsed="0.000641"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.558853" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.558220" elapsed="0.000672"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.558962" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:23.559218" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.554154" elapsed="0.005123"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.559502" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.536560" elapsed="0.023419"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.568097" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.567786" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.573705" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.573841" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.573952" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.568271" elapsed="0.005707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.574448" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.574142" elapsed="0.000353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.576621" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.574639" elapsed="0.002033"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.578581" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.576742" elapsed="0.001899"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.576722" elapsed="0.001946"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.582356" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.582446" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.578829" elapsed="0.003659"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.585048" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.582617" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.582586" elapsed="0.002575"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.585208" elapsed="0.000059"/>
</return>
<msg time="2026-05-25T00:36:23.585504" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.585565" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.567406" elapsed="0.018190"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.588715" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.586381" elapsed="0.002400"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.586356" elapsed="0.002456"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.589600" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.589017" elapsed="0.000620"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.590491" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.589918" elapsed="0.000619"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.590620" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:36:23.590914" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.585894" elapsed="0.005056"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.591173" elapsed="0.000502"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.566740" elapsed="0.025000"/>
</kw>
<arg>f102.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.518002" elapsed="0.073797"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.511062" elapsed="0.080866"/>
</test>
<test id="s1-s3-s1-t148" name="Test Is Flow 103 Deleted" line="370">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.603227" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.603396" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.603083" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.604016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.603580" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.604502" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.604201" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.604953" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.604681" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.605423" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.605130" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.606365" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.605600" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.606976" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.606609" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.607515" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.607174" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.608032" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.607707" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.608553" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.608224" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.609063" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.608746" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.609594" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.609273" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.602746" elapsed="0.006945"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.610224" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.609840" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.611473" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.611202" elapsed="0.000337"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.619566" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.619257" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.625275" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.625392" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.625499" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.619725" elapsed="0.005800"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.625943" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.625688" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.628188" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.626131" elapsed="0.002124"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.630076" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.628329" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.628309" elapsed="0.001860"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.630331" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.630644" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.630473" elapsed="0.000235"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.630451" elapsed="0.000282"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.630766" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:23.632782" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.632845" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.618921" elapsed="0.013956"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.636126" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.633791" elapsed="0.002400"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.633766" elapsed="0.002457"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.637007" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.636448" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.637782" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.637289" elapsed="0.000531"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.637936" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:23.638194" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.633325" elapsed="0.004905"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.638538" elapsed="0.000587"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.618277" elapsed="0.020938"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.648348" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.648024" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.653851" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.653962" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.654058" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.648511" elapsed="0.005573"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.654575" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.654268" elapsed="0.000362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.658148" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.654783" elapsed="0.003417"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.660183" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.658292" elapsed="0.001956"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.658272" elapsed="0.002001"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.663197" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.663261" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.660418" elapsed="0.002868"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.665788" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.663366" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.663347" elapsed="0.002558"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.665953" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:23.666226" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.666311" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.647646" elapsed="0.018697"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.669521" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.667209" elapsed="0.002378"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.667184" elapsed="0.002434"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.670462" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.669824" elapsed="0.000687"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.671320" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.670789" elapsed="0.000569"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.671429" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:23.671631" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.666735" elapsed="0.004922"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.671815" elapsed="0.000444"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.647010" elapsed="0.025317"/>
</kw>
<arg>f103.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.599364" elapsed="0.073020"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.592127" elapsed="0.080373"/>
</test>
<test id="s1-s3-s1-t149" name="Test Is Flow 104 Deleted" line="372">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.683852" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.683996" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.683708" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.684624" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4defc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.684180" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.685090" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.684809" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.685568" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.685289" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.686021" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.685749" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.687183" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.686199" elapsed="0.001016"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.687735" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.687397" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.688274" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.687934" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.688805" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.688473" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.689333" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.689001" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.689857" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.689535" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.690444" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4defc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.690056" elapsed="0.000440"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.683372" elapsed="0.007189"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.691130" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.690736" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.691577" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.691332" elapsed="0.000375"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.699769" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.699466" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.705276" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.705392" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.705489" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.699928" elapsed="0.005586"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.705929" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.705676" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.708200" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.706117" elapsed="0.002150"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.710077" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.708340" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.708320" elapsed="0.001850"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.710329" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.710640" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.710472" elapsed="0.000230"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.710451" elapsed="0.000279"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.710766" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:23.712775" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.712838" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.699129" elapsed="0.013741"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.715933" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.713650" elapsed="0.002348"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.713624" elapsed="0.002405"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.716820" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.716253" elapsed="0.000605"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.717599" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.717083" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.717705" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:23.717954" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.713166" elapsed="0.004823"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.718207" elapsed="0.000669"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.698549" elapsed="0.020417"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.727005" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.726704" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.732683" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.732849" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.732959" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.727162" elapsed="0.005823"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.733428" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.733147" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.735698" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.733623" elapsed="0.002126"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.737602" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.735818" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.735799" elapsed="0.001875"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.741175" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.741259" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.737812" elapsed="0.003483"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.743887" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.741404" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.741378" elapsed="0.002624"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.744049" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:23.744343" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.744405" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.726227" elapsed="0.018210"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.747552" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.745199" elapsed="0.002419"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.745174" elapsed="0.002476"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.748443" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.747859" elapsed="0.000623"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.749203" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.748711" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.749333" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:23.749585" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.744735" elapsed="0.004885"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.749839" elapsed="0.000615"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.725609" elapsed="0.024953"/>
</kw>
<arg>f104.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.679910" elapsed="0.070748"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.672681" elapsed="0.078144"/>
</test>
<test id="s1-s3-s1-t150" name="Test Is Flow 105 Deleted" line="374">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.762073" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.762207" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.761936" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.762912" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3550d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.762453" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.763434" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.763095" elapsed="0.000367"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.763893" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.763617" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.764363" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.764071" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.765456" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.764539" elapsed="0.000950"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.765984" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.765653" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.766598" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.766181" elapsed="0.000462"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.767131" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.766800" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.767664" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.767343" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.768179" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.767861" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.768715" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3550d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.768394" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.761607" elapsed="0.007204"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.769361" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.768961" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.769782" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.769541" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.777742" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.777443" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.783341" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.783455" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.783635" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.777896" elapsed="0.005776"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.784287" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.783899" elapsed="0.000465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.787437" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.784570" elapsed="0.002939"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.790066" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.787608" elapsed="0.002552"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.787580" elapsed="0.002614"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.790451" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.790817" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.790608" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.790579" elapsed="0.000346"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.790969" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:23.793279" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.793344" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.777110" elapsed="0.016266"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.796200" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.794147" elapsed="0.002115"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.794122" elapsed="0.002163"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.796838" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.796437" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.797398" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.797029" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.797473" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:23.797652" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.793677" elapsed="0.004000"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.797833" elapsed="0.000383"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.776549" elapsed="0.021747"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.806549" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.806158" elapsed="0.000424"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.811933" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.812043" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.812150" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.806723" elapsed="0.005454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.812623" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.812363" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.814875" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.812812" elapsed="0.002161"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.817401" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.815045" elapsed="0.002426"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.815025" elapsed="0.002479"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.821583" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.821649" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.817708" elapsed="0.003973"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.825639" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.821790" elapsed="0.003989"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.821765" elapsed="0.004073"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.825916" elapsed="0.000063"/>
</return>
<msg time="2026-05-25T00:36:23.826459" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.826564" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.805780" elapsed="0.020835"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.831511" elapsed="0.000033"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.827870" elapsed="0.003742"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.827829" elapsed="0.003832"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.832915" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.831990" elapsed="0.000986"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.834155" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.833370" elapsed="0.000843"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.834373" elapsed="0.000066"/>
</return>
<msg time="2026-05-25T00:36:23.834777" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.827096" elapsed="0.007736"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.835177" elapsed="0.000949"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.805128" elapsed="0.031175"/>
</kw>
<arg>f105.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.758268" elapsed="0.078167"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.751171" elapsed="0.085507"/>
</test>
<test id="s1-s3-s1-t151" name="Test Is Flow 106 Deleted" line="376">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.849549" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.849685" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.849410" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.850306" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354900&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.849867" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.850788" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.850507" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.851255" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.850969" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.851708" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.851435" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.852652" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.851884" elapsed="0.000799"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.853176" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.852845" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.853754" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.853428" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.854293" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.853950" elapsed="0.000460"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.854944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.854613" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.855493" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.855147" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.856043" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354900&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.855694" elapsed="0.000393"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.849054" elapsed="0.007089"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.856706" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.856312" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.857131" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.856890" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.866849" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.866036" elapsed="0.000873"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.873564" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.873741" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.873887" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.867205" elapsed="0.006709"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.874414" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.874097" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.876812" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.874607" elapsed="0.002257"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.878822" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.876946" elapsed="0.002015"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.876924" elapsed="0.002066"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.879140" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.879391" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.879251" elapsed="0.000192"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.879217" elapsed="0.000250"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.879499" elapsed="0.000023"/>
</return>
<msg time="2026-05-25T00:36:23.881793" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.881856" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.865294" elapsed="0.016594"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.884950" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.882722" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.882697" elapsed="0.002350"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.885839" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.885270" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.886652" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.886104" elapsed="0.000585"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.886758" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:23.887007" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.882191" elapsed="0.004851"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.887280" elapsed="0.000538"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.863999" elapsed="0.023908"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.897616" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.897310" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.904387" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.904640" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.904859" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.897771" elapsed="0.007144"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.905896" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.905313" elapsed="0.000683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.911081" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.906418" elapsed="0.004798"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.914133" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.911443" elapsed="0.002765"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.911395" elapsed="0.002866"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.918519" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.918601" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.914537" elapsed="0.004102"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.921419" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.918753" elapsed="0.002744"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.918726" elapsed="0.002805"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:23.921640" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:23.921923" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:23.921983" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.896916" elapsed="0.025099"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.924680" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.922929" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.922903" elapsed="0.001846"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.925319" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.924898" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.925864" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.925510" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.925940" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:23.926117" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.922417" elapsed="0.003725"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.926332" elapsed="0.000429"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.896295" elapsed="0.030529"/>
</kw>
<arg>f106.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.845493" elapsed="0.081390"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.837211" elapsed="0.089797"/>
</test>
<test id="s1-s3-s1-t152" name="Test Is Flow 107 Deleted" line="378">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:23.938308" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:23.938531" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:23.938136" elapsed="0.000427"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:23.939175" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7f10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:23.938721" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.939660" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.939375" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.940109" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.939838" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:23.940572" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:23.940300" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.941546" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:23.940747" elapsed="0.000830"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.942073" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.941736" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.942689" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.942320" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.943216" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.942889" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.943742" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.943429" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.944310" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.943941" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.944938" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7f10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:23.944611" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:23.937802" elapsed="0.007234"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.945588" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.945185" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.946010" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.945769" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.954183" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.953874" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.959824" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.959956" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.960058" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.954395" elapsed="0.005689"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.960554" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.960279" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.962841" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.960743" elapsed="0.002150"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:23.964737" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:36:23.962971" elapsed="0.001837"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.962948" elapsed="0.001885"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:23.964979" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:23.965206" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.965070" elapsed="0.000204"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:23.965054" elapsed="0.000245"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.965332" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:23.967309" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:23.967374" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.953553" elapsed="0.013853"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.970598" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.968271" elapsed="0.002395"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.968224" elapsed="0.002474"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.971497" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.970908" elapsed="0.000626"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.972278" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:23.971764" elapsed="0.000552"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:23.972386" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:23.972637" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:23.967777" elapsed="0.004895"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:23.972895" elapsed="0.000630"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.952972" elapsed="0.020646"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.983079" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:23.982773" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:23.988665" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:23.988781" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:23.988879" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:23.983253" elapsed="0.005651"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.989350" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.989070" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:23.992721" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:23.989564" elapsed="0.003230"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:23.995519" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:23.992893" elapsed="0.002697"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.992865" elapsed="0.002758"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:23.999412" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:23.999460" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:23.995823" elapsed="0.003661"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.001306" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:23.999564" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:23.999545" elapsed="0.001844"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.001423" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:24.001629" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.001674" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:23.982373" elapsed="0.019324"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.003984" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.002317" elapsed="0.001714"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.002294" elapsed="0.001759"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.004644" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.004207" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.005302" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.004917" elapsed="0.000413"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.005382" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:24.005562" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.001926" elapsed="0.003662"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.005746" elapsed="0.000395"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:23.981696" elapsed="0.024511"/>
</kw>
<arg>f107.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:23.934486" elapsed="0.071823"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:23.927436" elapsed="0.079033"/>
</test>
<test id="s1-s3-s1-t153" name="Test Is Flow 108 Deleted" line="380">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.017662" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.017839" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.017517" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.018664" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7330&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.018059" elapsed="0.000643"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.019227" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.018912" elapsed="0.000361"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.019731" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.019449" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.020178" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.019909" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.021407" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.020373" elapsed="0.001066"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.021947" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.021604" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.022575" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.022147" elapsed="0.000479"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.023114" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.022783" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.023645" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.023328" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.024167" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.023846" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.024703" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7330&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.024383" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.017167" elapsed="0.007634"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.025351" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.024951" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.025825" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.025577" elapsed="0.000313"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.033935" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.033626" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.039636" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.039769" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.039869" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.034092" elapsed="0.005803"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.040342" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.040059" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.042585" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.040536" elapsed="0.002104"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.044470" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.042718" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.042695" elapsed="0.001874"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.044714" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.044938" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.044805" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.044788" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.045045" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:24.046882" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.046946" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.033305" elapsed="0.013673"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.050007" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.047767" elapsed="0.002304"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.047742" elapsed="0.002361"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.050958" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.050363" elapsed="0.000633"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.051733" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.051220" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.051903" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:24.052158" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.047301" elapsed="0.004892"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.052433" elapsed="0.000546"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.032571" elapsed="0.020497"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.062610" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.062217" elapsed="0.000421"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.067475" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.067636" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.067786" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.062771" elapsed="0.005051"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.068484" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.068045" elapsed="0.000510"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.071670" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.068775" elapsed="0.002967"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.074388" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.071840" elapsed="0.002621"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.071812" elapsed="0.002681"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.078531" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.078587" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.074689" elapsed="0.003922"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.080439" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.078689" elapsed="0.001807"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.078671" elapsed="0.001849"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.080553" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:24.080752" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.080796" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.061840" elapsed="0.018979"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.083059" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.081391" elapsed="0.001714"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.081373" elapsed="0.001755"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.083703" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.083294" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.084259" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.083894" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.084337" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:24.084518" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.081039" elapsed="0.003504"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.084747" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.061196" elapsed="0.024008"/>
</kw>
<arg>f108.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.013793" elapsed="0.071485"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.006804" elapsed="0.078601"/>
</test>
<test id="s1-s3-s1-t154" name="Test Is Flow 109 Deleted" line="382">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.099008" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.099460" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.098214" elapsed="0.001317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.101124" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.100002" elapsed="0.001188"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.102214" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.101578" elapsed="0.000850"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.103478" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.102808" elapsed="0.000730"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.104529" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.103880" elapsed="0.000709"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.106827" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.104931" elapsed="0.001966"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.108148" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.107347" elapsed="0.000928"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.109379" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.108628" elapsed="0.000846"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.110595" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.109814" elapsed="0.000874"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.111766" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.111025" elapsed="0.000841"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.112947" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.112201" elapsed="0.000847"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.114162" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.113415" elapsed="0.000918"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.097879" elapsed="0.016597"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.115156" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.114736" elapsed="0.000450"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.115609" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.115359" elapsed="0.000397"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.123752" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.123432" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.129755" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.129907" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.130024" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.123916" elapsed="0.006134"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.130515" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.130213" elapsed="0.000351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.132974" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.130707" elapsed="0.002319"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.135089" elapsed="0.000052"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.133111" elapsed="0.002087"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.133085" elapsed="0.002167"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.135456" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.135770" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.135584" elapsed="0.000259"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.135561" elapsed="0.000315"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.135921" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:24.138312" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.138376" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.123097" elapsed="0.015311"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.141487" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.139204" elapsed="0.002348"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.139179" elapsed="0.002404"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.142401" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.141787" elapsed="0.000651"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.143159" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.142665" elapsed="0.000530"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.143287" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:24.143546" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.138741" elapsed="0.004841"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.143802" elapsed="0.000574"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.122479" elapsed="0.021985"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.152876" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.152577" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.157906" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.158059" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.158157" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.153033" elapsed="0.005149"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.158652" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.158397" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.160833" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.158840" elapsed="0.002043"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.162760" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.160952" elapsed="0.001858"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.160933" elapsed="0.001899"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.165669" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.165715" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.162971" elapsed="0.002768"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.168393" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.165818" elapsed="0.002657"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.165800" elapsed="0.002711"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.168558" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:24.168828" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.168888" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.152168" elapsed="0.016752"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.172025" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.169698" elapsed="0.002392"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.169673" elapsed="0.002448"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.172908" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.172346" elapsed="0.000601"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.173694" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.173176" elapsed="0.000555"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.173801" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:24.174050" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.169214" elapsed="0.004871"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.174351" elapsed="0.000550"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.151539" elapsed="0.023451"/>
</kw>
<arg>f109.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.094553" elapsed="0.080518"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.085601" elapsed="0.089662"/>
</test>
<test id="s1-s3-s1-t155" name="Test Is Flow 110 Deleted" line="384">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.187206" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.187365" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.187066" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.187960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d71a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.187552" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.188480" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.188140" elapsed="0.000367"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.188933" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.188662" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.189400" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.189111" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.190308" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.189580" elapsed="0.000764"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.191077" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.190503" elapsed="0.000618"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.191617" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.191293" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.192135" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.191810" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.192664" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.192344" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.193177" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.192859" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.193707" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d71a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.193388" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.186734" elapsed="0.007070"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.194377" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.193954" elapsed="0.000453"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.194801" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.194559" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.202793" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.202496" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.207906" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.208016" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.208143" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.202949" elapsed="0.005220"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.208610" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.208351" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.210976" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.208798" elapsed="0.002250"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.213641" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.211146" elapsed="0.002588"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.211118" elapsed="0.002650"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.213964" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.214317" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.214092" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.214069" elapsed="0.000356"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.214470" elapsed="0.000019"/>
</return>
<msg time="2026-05-25T00:36:24.216806" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.216870" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.202137" elapsed="0.014766"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.220031" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.217683" elapsed="0.002413"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.217658" elapsed="0.002470"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.220913" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.220356" elapsed="0.000595"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.221697" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.221180" elapsed="0.000554"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.221802" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:24.222053" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.217197" elapsed="0.004891"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.222388" elapsed="0.000430"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.201580" elapsed="0.021302"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.230781" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.230485" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.236030" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.236145" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.236262" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.230937" elapsed="0.005353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.236714" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.236457" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.239154" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.236904" elapsed="0.002358"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.241137" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.239336" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.239316" elapsed="0.001897"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.244782" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.244848" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.241372" elapsed="0.003510"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.247555" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.244991" elapsed="0.002648"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.244965" elapsed="0.002714"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.247730" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:24.248028" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.248094" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.230070" elapsed="0.018058"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.251471" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.248979" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.248952" elapsed="0.002622"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.252420" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.251795" elapsed="0.000667"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.253223" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.252702" elapsed="0.000582"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.253359" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:24.253632" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.248476" elapsed="0.005195"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.253904" elapsed="0.000628"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.229452" elapsed="0.025146"/>
</kw>
<arg>f110.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.183440" elapsed="0.071218"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.175692" elapsed="0.079090"/>
</test>
<test id="s1-s3-s1-t156" name="Test Is Flow 113 Deleted" line="386">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.266081" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.266284" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.265934" elapsed="0.000381"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.266917" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5a30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.266471" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.267398" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.267098" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.267852" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.267579" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.268316" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.268029" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.269498" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.268498" elapsed="0.001031"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.270033" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.269693" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.270644" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.270312" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.271174" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.270843" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.271706" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.271388" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.272225" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.271904" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.272768" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5a30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.272440" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.265595" elapsed="0.007272"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.273421" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.273019" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.273850" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.273606" elapsed="0.000309"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.281982" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.281650" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.287605" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.287749" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.287853" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.282150" elapsed="0.005728"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.288345" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.288045" elapsed="0.000346"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.290598" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.288538" elapsed="0.002260"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.292741" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.290938" elapsed="0.001887"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.290909" elapsed="0.001943"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.293004" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.293231" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.293096" elapsed="0.000203"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.293079" elapsed="0.000244"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.293356" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:36:24.295331" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.295400" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.281308" elapsed="0.014127"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.298720" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.296292" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.296264" elapsed="0.002560"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.299837" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.299047" elapsed="0.000829"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.300665" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.300120" elapsed="0.000583"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.300776" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:24.301044" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.295769" elapsed="0.005312"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.301339" elapsed="0.000595"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.280684" elapsed="0.021345"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.311518" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.311179" elapsed="0.000368"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.316890" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.317029" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.317149" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.311682" elapsed="0.005493"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.317660" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.317380" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.319894" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.317849" elapsed="0.002095"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.321819" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.320024" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.319998" elapsed="0.001900"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.324830" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.324877" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.322040" elapsed="0.002861"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.326872" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.324982" elapsed="0.002052"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.324962" elapsed="0.002114"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.327128" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:24.327455" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.327519" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.310787" elapsed="0.016766"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.330847" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.328436" elapsed="0.002479"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.328410" elapsed="0.002539"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.331816" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.331171" elapsed="0.000685"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.332642" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.332097" elapsed="0.000583"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.332755" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:24.333020" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.327907" elapsed="0.005151"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.333311" elapsed="0.000590"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.310080" elapsed="0.023916"/>
</kw>
<arg>f113.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.262052" elapsed="0.072032"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.254982" elapsed="0.079325"/>
</test>
<test id="s1-s3-s1-t157" name="Test Is Flow 156 Deleted" line="388">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.346660" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f156.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.346843" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.346513" elapsed="0.000360"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.347473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6250&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.347027" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.347937" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.347654" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.348439" level="INFO">${flow_id} = 279</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.348117" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.348905" level="INFO">${flow_priority} = 156</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.348629" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.350200" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.349085" elapsed="0.001176"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.350884" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.350481" elapsed="0.000447"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.351534" level="INFO">${flow_id} = 279</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.351083" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.352168" level="INFO">${flow_priority} = 156</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.351778" elapsed="0.000449"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.352816" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.352460" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.353409" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.353065" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.353928" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6250&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.353608" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.346029" elapsed="0.007997"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.354613" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.354191" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.355038" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;279&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
      &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;156&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf156&lt;/flow-name&gt;
    &lt;priority&gt;156&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.354796" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.363091" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.362760" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.368282" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.368429" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=279?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.368535" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.363274" elapsed="0.005287"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.368990" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.368730" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.371208" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.369182" elapsed="0.002096"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.373127" elapsed="0.000037"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.371364" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.371339" elapsed="0.001892"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.373393" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.373625" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.373485" elapsed="0.000192"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.373468" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.373734" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:24.375873" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.375941" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 279 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.362426" elapsed="0.013549"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.379345" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.376909" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.376883" elapsed="0.002564"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.380284" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.379668" elapsed="0.000658"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.381082" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.380566" elapsed="0.000555"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.381194" elapsed="0.000062"/>
</return>
<msg time="2026-05-25T00:36:24.381485" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.376406" elapsed="0.005117"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.381759" elapsed="0.000618"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.361769" elapsed="0.020704"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.391881" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.391573" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.397695" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.397812" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.397919" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.392042" elapsed="0.005903"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.398415" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.398105" elapsed="0.000356"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.401425" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.398648" elapsed="0.002848"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.404092" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.401593" elapsed="0.002569"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.401566" elapsed="0.002627"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.407697" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.407744" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.404410" elapsed="0.003358"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.409580" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.407844" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.407826" elapsed="0.001835"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.409694" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:36:24.409887" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.409931" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 279 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.391175" elapsed="0.018779"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.412124" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.410533" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.410515" elapsed="0.001678"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.412751" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.412352" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.413360" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.412986" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.413436" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:24.413614" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.410186" elapsed="0.003453"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.413795" elapsed="0.000406"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.390521" elapsed="0.023766"/>
</kw>
<arg>f156.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.342744" elapsed="0.071602"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.334724" elapsed="0.079750"/>
</test>
<test id="s1-s3-s1-t158" name="Test Is Flow 201 Deleted" line="390">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.425672" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.425829" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.425528" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.426468" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dda30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.426011" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.426934" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.426652" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.427399" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.427112" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.427849" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.427580" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.428734" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.428024" elapsed="0.000741"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.429271" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.428925" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.429787" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.429468" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.430348" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.429980" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.430855" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.430544" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.431381" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.431049" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.431903" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dda30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.431583" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.425182" elapsed="0.006818"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.432547" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.432148" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.433007" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.432764" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.440788" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.440488" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.445900" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.446008" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.446132" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.440945" elapsed="0.005214"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.446603" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.446347" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.448925" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.446792" elapsed="0.002184"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.450830" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.449047" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.449026" elapsed="0.001895"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.451062" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.451302" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.451153" elapsed="0.000202"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.451137" elapsed="0.000242"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.451411" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:24.453046" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.453092" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.440153" elapsed="0.012963"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.455630" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.453674" elapsed="0.002021"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.453656" elapsed="0.002071"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.456508" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.455932" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.457289" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.456777" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.457466" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:24.457728" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.453340" elapsed="0.004424"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.457982" elapsed="0.000599"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.439596" elapsed="0.019075"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.468931" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.468628" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.473576" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.473695" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.473792" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.469091" elapsed="0.004726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.474294" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.473978" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.477461" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.474485" elapsed="0.003052"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.480371" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.477640" elapsed="0.002806"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.477612" elapsed="0.002868"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.484715" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.484783" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.480687" elapsed="0.004130"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.487385" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.484931" elapsed="0.002510"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.484904" elapsed="0.002562"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.487500" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:24.487695" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.487738" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.468229" elapsed="0.019531"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.489909" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.488318" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.488301" elapsed="0.001676"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.490566" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.490140" elapsed="0.000453"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.491108" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.490757" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.491185" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:24.491380" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.487973" elapsed="0.003433"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.491561" elapsed="0.000388"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.467605" elapsed="0.024448"/>
</kw>
<arg>f201.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.421710" elapsed="0.070402"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.414680" elapsed="0.077565"/>
</test>
<test id="s1-s3-s1-t159" name="Test Is Flow 202 Deleted" line="392">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.503264" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.503408" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.503111" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.504005" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354cc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.503591" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.504483" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.504186" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.504933" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.504663" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.505396" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.505110" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.506292" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.505572" elapsed="0.000751"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.506814" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.506484" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.507344" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.507009" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.507865" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.507539" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.508383" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.508057" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.508897" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.508579" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.509427" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354cc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.509093" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.502783" elapsed="0.006741"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.510056" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.509674" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.510529" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.510283" elapsed="0.000348"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.519999" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.519696" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.525815" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.525927" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.526032" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.520154" elapsed="0.005904"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.526524" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.526267" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.528695" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.526715" elapsed="0.002031"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.530718" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.528817" elapsed="0.001995"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.528798" elapsed="0.002049"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.531045" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.531378" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.531172" elapsed="0.000280"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.531148" elapsed="0.000337"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.531530" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:24.533839" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.533902" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.519381" elapsed="0.014553"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.537001" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.534746" elapsed="0.002319"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.534722" elapsed="0.002374"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.537871" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.537319" elapsed="0.000589"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.538670" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.538154" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.538775" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:24.539022" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.534275" elapsed="0.004782"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.539296" elapsed="0.000537"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.518809" elapsed="0.021110"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.548518" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.548204" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.552900" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.553042" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.553139" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.548674" elapsed="0.004491"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.553605" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.553346" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.555956" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.553794" elapsed="0.002213"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.557857" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.556075" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.556056" elapsed="0.001873"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.560759" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.560805" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.558084" elapsed="0.002745"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.562720" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.560906" elapsed="0.001893"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.560888" elapsed="0.001946"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.562881" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:24.563150" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.563210" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.547824" elapsed="0.015437"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.566306" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.564025" elapsed="0.002346"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.564001" elapsed="0.002402"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.567163" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.566608" elapsed="0.000593"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.567950" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.567451" elapsed="0.000535"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.568055" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:24.568327" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.563561" elapsed="0.004801"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.568580" elapsed="0.000535"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.547191" elapsed="0.022012"/>
</kw>
<arg>f202.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.499490" elapsed="0.069815"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.492529" elapsed="0.076931"/>
</test>
<test id="s1-s3-s1-t160" name="Test Is Flow 203 Deleted" line="394">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.580968" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.581135" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.580830" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.581743" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355210&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.581332" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.582279" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.581923" elapsed="0.000384"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.582733" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.582461" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.583179" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.582910" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.584227" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.583371" elapsed="0.000903"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.584773" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.584435" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.585305" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.584969" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.585831" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.585502" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.586373" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.586026" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.586891" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.586571" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.587426" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355210&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.587088" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.580501" elapsed="0.007022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.588059" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.587672" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.588499" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.588255" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.596401" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.596082" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.601965" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.602116" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.602274" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.596559" elapsed="0.005743"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.602729" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.602467" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.604912" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.602919" elapsed="0.002043"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.606839" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.605038" elapsed="0.001874"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.605016" elapsed="0.001922"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.607080" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.607321" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.607172" elapsed="0.000202"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.607155" elapsed="0.000243"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.607430" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:24.609087" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.609132" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.595762" elapsed="0.013393"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.611695" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.609720" elapsed="0.002040"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.609702" elapsed="0.002089"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.612586" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.611999" elapsed="0.000624"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.613374" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.612857" elapsed="0.000555"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.613481" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:24.613734" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.609386" elapsed="0.004383"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.613987" elapsed="0.000609"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.595186" elapsed="0.019500"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.625123" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.624816" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.629285" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.629406" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.629505" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.625296" elapsed="0.004236"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.629959" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.629702" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.633384" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.630192" elapsed="0.003326"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.636332" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.633626" elapsed="0.002782"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.633595" elapsed="0.002847"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.640741" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.640811" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.636652" elapsed="0.004196"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.643277" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.640963" elapsed="0.002371"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.640936" elapsed="0.002424"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.643395" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:24.643603" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.643648" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.624434" elapsed="0.019237"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.645885" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.644279" elapsed="0.001651"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.644260" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.646575" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.646121" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.647116" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.646765" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.647191" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:24.647387" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.643915" elapsed="0.003498"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.647571" elapsed="0.000397"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.623656" elapsed="0.024376"/>
</kw>
<arg>f203.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.577166" elapsed="0.070925"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.569801" elapsed="0.078421"/>
</test>
<test id="s1-s3-s1-t161" name="Test Is Flow 204 Deleted" line="396">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.659404" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.659572" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.659254" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.660193" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.659759" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.660679" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.660396" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.661132" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.660861" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.661598" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.661326" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.662722" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.661777" elapsed="0.000976"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.663273" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.662917" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.663854" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.663521" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.664402" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.664051" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.664914" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.664599" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.665452" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.665113" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.665975" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.665652" elapsed="0.000396"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.658903" elapsed="0.007203"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.666670" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.666279" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.667094" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.666854" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.675050" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.674742" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.680854" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.680993" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.681098" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.675208" elapsed="0.005916"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.681588" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.681318" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.683790" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.681776" elapsed="0.002065"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.685694" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.683918" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.683895" elapsed="0.001970"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.686045" elapsed="0.000025"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.686293" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.686141" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.686124" elapsed="0.000246"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.686403" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:24.688672" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.688735" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.674423" elapsed="0.014345"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.691844" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.689562" elapsed="0.002348"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.689533" elapsed="0.002410"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.692742" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.692153" elapsed="0.000626"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.693520" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.693008" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.693630" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:24.693878" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.689072" elapsed="0.004841"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.694149" elapsed="0.000566"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.673819" elapsed="0.020986"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.703726" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.703425" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.707963" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.708071" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.708167" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.703883" elapsed="0.004309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.708821" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.708376" elapsed="0.000492"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.711067" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.709013" elapsed="0.002107"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.712971" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.711189" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.711170" elapsed="0.001873"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.715900" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.715946" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.713183" elapsed="0.002788"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.717788" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.716049" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.716030" elapsed="0.001839"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.717903" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:24.718166" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.718211" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.703029" elapsed="0.015218"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.720414" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.718797" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.718779" elapsed="0.001705"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.721031" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.720633" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.721593" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.721224" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.721670" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:24.721848" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.718465" elapsed="0.003408"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.722044" elapsed="0.000409"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.702408" elapsed="0.020108"/>
</kw>
<arg>f204.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.655574" elapsed="0.067000"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.648559" elapsed="0.074134"/>
</test>
<test id="s1-s3-s1-t162" name="Test Is Flow 205 Deleted" line="398">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.733732" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.733886" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.733592" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.734543" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.734089" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.735140" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.734861" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.735608" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.735337" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.736053" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.735786" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.737185" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.736229" elapsed="0.000987"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.737727" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.737391" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.738289" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.737923" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.738814" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.738487" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.739360" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.739033" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.739881" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.739561" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.740460" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f7420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.740119" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.733263" elapsed="0.007296"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.741096" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.740708" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.741538" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.741293" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.749425" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.749107" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.754740" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.754856" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.754953" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.749584" elapsed="0.005395"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.755419" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.755141" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.757595" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.755609" elapsed="0.002037"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.759509" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.757717" elapsed="0.001860"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.757696" elapsed="0.001906"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.759745" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.759974" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.759838" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.759820" elapsed="0.000230"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.760083" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:24.761727" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.761773" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.748791" elapsed="0.013006"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.764653" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.762433" elapsed="0.002286"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.762414" elapsed="0.002337"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.765536" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.764957" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.766352" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.765801" elapsed="0.000589"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.766460" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:24.766712" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.762076" elapsed="0.004671"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.766966" elapsed="0.000559"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.748189" elapsed="0.019431"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.777602" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.777297" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.783192" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.783375" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.783524" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.777757" elapsed="0.005807"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.784143" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.783791" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.787321" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.784432" elapsed="0.002962"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.790044" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.787491" elapsed="0.002622"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.787464" elapsed="0.002681"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.794072" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.794138" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.790358" elapsed="0.003817"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.796090" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.794305" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.794277" elapsed="0.001894"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.796205" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:24.796422" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.796466" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.776904" elapsed="0.019585"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.798659" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.797035" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.797017" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.799289" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.798875" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.799879" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.799520" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.799956" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:24.800135" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.796706" elapsed="0.003454"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.800335" elapsed="0.000386"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.776290" elapsed="0.024495"/>
</kw>
<arg>f205.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.729924" elapsed="0.070919"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.722981" elapsed="0.077976"/>
</test>
<test id="s1-s3-s1-t163" name="Test Is Flow 206 Deleted" line="400">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.812162" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.812314" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.812025" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.812927" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d47c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.812499" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.813408" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.813110" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.813863" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.813588" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.814355" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.814065" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.815297" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.814532" elapsed="0.000797"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.815828" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.815489" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.816364" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.816028" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.816887" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.816561" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.817410" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.817080" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.817930" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.817608" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.818501" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d47c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.818162" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.811694" elapsed="0.006906"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.819137" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.818753" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.819622" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.819373" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.827453" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.827136" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.832788" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.832899" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.833005" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.827612" elapsed="0.005419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.833474" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.833196" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.835853" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.833673" elapsed="0.002232"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.837795" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.835979" elapsed="0.001884"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.835958" elapsed="0.001931"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.838070" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.838317" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.838165" elapsed="0.000206"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.838148" elapsed="0.000247"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.838429" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:24.840737" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.840802" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.826820" elapsed="0.014014"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.843950" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.841615" elapsed="0.002402"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.841590" elapsed="0.002458"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.844840" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.844278" elapsed="0.000600"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.845627" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.845106" elapsed="0.000558"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.845783" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:24.846063" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.841129" elapsed="0.004971"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.846344" elapsed="0.000555"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.826260" elapsed="0.020728"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.856038" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.855734" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.861875" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.862025" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.862126" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.856197" elapsed="0.005955"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.862600" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.862341" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.864828" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.862788" elapsed="0.002091"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.866832" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.864951" elapsed="0.001933"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.864930" elapsed="0.001976"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.869761" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.869807" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.867048" elapsed="0.002782"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.872394" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.869906" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.869888" elapsed="0.002621"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.872555" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:24.872830" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.872892" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.855351" elapsed="0.017572"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.875978" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.873707" elapsed="0.002335"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.873682" elapsed="0.002392"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.876862" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.876301" elapsed="0.000599"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.877643" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.877127" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.877749" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:24.878037" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.873222" elapsed="0.004850"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.878312" elapsed="0.000546"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.854706" elapsed="0.024305"/>
</kw>
<arg>f206.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.808189" elapsed="0.070903"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.801246" elapsed="0.078037"/>
</test>
<test id="s1-s3-s1-t164" name="Test Is Flow 209 Deleted" line="402">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.891726" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.891895" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.891576" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.892552" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28770&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.892086" elapsed="0.000494"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.893018" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.892733" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.893484" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.893194" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.894045" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.893665" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.895040" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.894284" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.895591" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.895250" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.896104" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.895784" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.896643" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.896315" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.897146" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.896834" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.897682" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.897358" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.898307" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28770&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.897888" elapsed="0.000473"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.891218" elapsed="0.007212"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.899045" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.898606" elapsed="0.000474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.899531" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.899268" elapsed="0.000371"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.907750" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.907433" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.913406" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.913704" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.913986" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.907909" elapsed="0.006147"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.915192" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.914497" elapsed="0.000846"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.920724" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.915704" elapsed="0.005147"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:24.923748" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:24.921043" elapsed="0.002788"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.920987" elapsed="0.002871"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:24.924013" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.924261" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.924108" elapsed="0.000208"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:24.924090" elapsed="0.000250"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.924373" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:24.926058" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:24.926104" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.907100" elapsed="0.019028"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.928360" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.926744" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.926726" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.929004" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.928582" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.929575" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.929196" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.929652" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:24.929836" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.926391" elapsed="0.003471"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.930056" elapsed="0.000426"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.906510" elapsed="0.024039"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.938455" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.938123" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:24.944831" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:24.945055" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:24.945194" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.938617" elapsed="0.006641"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.945852" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.945491" elapsed="0.000461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.951296" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.946173" elapsed="0.005198"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.954102" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.951472" elapsed="0.002706"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.951444" elapsed="0.002766"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.958271" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:24.958339" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:24.954438" elapsed="0.003935"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:24.960901" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:24.958484" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.958458" elapsed="0.002557"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:24.961062" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:24.961365" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:24.961428" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.937707" elapsed="0.023752"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:24.964541" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:24.962301" elapsed="0.002305"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:24.962274" elapsed="0.002362"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.965433" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.964843" elapsed="0.000629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.966256" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.965699" elapsed="0.000596"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:24.966366" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:24.966619" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:24.961762" elapsed="0.004892"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:24.966875" elapsed="0.000564"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.937060" elapsed="0.030468"/>
</kw>
<arg>f209.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.887553" elapsed="0.080053"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.879658" elapsed="0.088115"/>
</test>
<test id="s1-s3-s1-t165" name="Test Is Flow 214 Deleted" line="404">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:24.980745" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:24.980917" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:24.980600" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:24.981538" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28ea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:24.981102" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.982066" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.981720" elapsed="0.000373"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.982540" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.982263" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:24.982991" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:24.982718" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:24.984021" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:24.983168" elapsed="0.000884"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.984566" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.984211" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.985090" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.984766" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.985656" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.985317" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.986203" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.985850" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.986740" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.986418" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.987272" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28ea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:24.986938" elapsed="0.000377"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:24.980268" elapsed="0.007102"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.987904" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:24.987520" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.988345" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:24.988086" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:24.996251" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:24.995932" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.001547" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.001754" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.001942" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:24.996410" elapsed="0.005650"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.002661" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.002313" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.005015" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.002929" elapsed="0.002140"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.007198" elapsed="0.000069"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.005156" elapsed="0.002170"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.005129" elapsed="0.002233"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.007572" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.007890" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.007699" elapsed="0.000264"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.007676" elapsed="0.000321"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.008042" elapsed="0.000019"/>
</return>
<msg time="2026-05-25T00:36:25.010420" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.010484" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:24.995614" elapsed="0.014901"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.013618" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.011376" elapsed="0.002308"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.011350" elapsed="0.002366"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.014555" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.013954" elapsed="0.000639"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.015342" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.014821" elapsed="0.000558"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.015448" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:25.015701" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.010863" elapsed="0.004873"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.015958" elapsed="0.000578"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:24.995039" elapsed="0.021589"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.025279" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.024930" elapsed="0.000378"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.030795" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.030985" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.031130" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.025450" elapsed="0.005709"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.031891" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.031486" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.034590" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.032087" elapsed="0.002632"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.036603" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.034809" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.034780" elapsed="0.001903"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.039880" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.039947" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.036829" elapsed="0.003151"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.042613" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.040091" elapsed="0.002602"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.040065" elapsed="0.002663"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.042775" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:36:25.043067" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.043128" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.024530" elapsed="0.018629"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.046309" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.044001" elapsed="0.002374"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.043975" elapsed="0.002431"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.047253" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.046627" elapsed="0.000669"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.048064" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.047540" elapsed="0.000563"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.048175" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:25.048467" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.043516" elapsed="0.004989"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.048740" elapsed="0.000604"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.023856" elapsed="0.025584"/>
</kw>
<arg>f214.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:24.976973" elapsed="0.072555"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:24.968293" elapsed="0.081414"/>
</test>
<test id="s1-s3-s1-t166" name="Test Is Flow 218 Deleted" line="406">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.061144" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.061338" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.060990" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.061996" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.061533" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.062484" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.062180" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.062940" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.062668" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.063403" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.063117" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.064408" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.063582" elapsed="0.000858"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.064948" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.064603" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.065561" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.065210" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.066117" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.065763" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.066652" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.066329" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.067169" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.066850" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.067711" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.067383" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.060640" elapsed="0.007172"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.068384" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.067963" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.068811" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.068569" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.077133" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.076798" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.082802" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.083007" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.083139" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.077323" elapsed="0.005843"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.083841" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.083436" elapsed="0.000458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.086206" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.084048" elapsed="0.002228"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.088811" elapsed="0.000049"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.086367" elapsed="0.002551"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.086339" elapsed="0.002615"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.089161" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.089506" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.089312" elapsed="0.000350"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.089288" elapsed="0.000413"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.089749" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:25.092188" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.092274" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.076476" elapsed="0.015834"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.095440" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.093135" elapsed="0.002372"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.093109" elapsed="0.002430"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.096957" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.095892" elapsed="0.001126"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.098278" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.097423" elapsed="0.000917"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.098453" elapsed="0.000066"/>
</return>
<msg time="2026-05-25T00:36:25.098858" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.092650" elapsed="0.006265"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.099291" elapsed="0.000870"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.075803" elapsed="0.024536"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.112828" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.112373" elapsed="0.000495"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.118651" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.118873" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.119020" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.113064" elapsed="0.005983"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.119672" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.119324" elapsed="0.000395"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.122308" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.119863" elapsed="0.002498"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.124247" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.122449" elapsed="0.001855"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.122421" elapsed="0.001907"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.127231" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.127320" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.124473" elapsed="0.002879"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.129896" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.127461" elapsed="0.002512"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.127434" elapsed="0.002575"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.130055" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:25.130363" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.130425" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.111796" elapsed="0.018661"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.133798" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.131533" elapsed="0.002369"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.131508" elapsed="0.002427"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.134693" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.134147" elapsed="0.000573"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.135255" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.134886" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.135333" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:25.135514" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.131029" elapsed="0.004510"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.135698" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.110853" elapsed="0.025310"/>
</kw>
<arg>f218.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.057267" elapsed="0.078955"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.050149" elapsed="0.086220"/>
</test>
<test id="s1-s3-s1-t167" name="Test Is Flow 219 Deleted" line="408">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.147375" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.147560" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.147217" elapsed="0.000373"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.148179" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.147745" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.148824" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.148385" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.149293" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.149005" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.149746" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.149474" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.150796" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.149939" elapsed="0.000889"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.151346" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.150991" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.151873" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.151548" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.152411" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.152070" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.152924" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.152612" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.153455" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.153121" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.154005" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.153656" elapsed="0.000391"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.146880" elapsed="0.007261"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.154698" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.154310" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.155122" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.154880" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.163046" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.162736" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.169200" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.169445" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.169601" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.163207" elapsed="0.006422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.170369" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.169967" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.172798" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.170599" elapsed="0.002273"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.174818" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.172974" elapsed="0.001931"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.172942" elapsed="0.001990"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.175090" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.175341" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.175184" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.175167" elapsed="0.000253"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.175452" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:25.177112" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.177158" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.162413" elapsed="0.014769"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.179981" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.177869" elapsed="0.002181"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.177804" elapsed="0.002280"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.180972" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.180334" elapsed="0.000679"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.181939" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.181278" elapsed="0.000702"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.182054" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:25.182348" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.177464" elapsed="0.004922"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.182644" elapsed="0.000564"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.161809" elapsed="0.021519"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.193345" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.193011" elapsed="0.000361"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.198432" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.198641" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.198818" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.193510" elapsed="0.005347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.199657" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.199188" elapsed="0.000535"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.203274" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.199926" elapsed="0.003425"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.205999" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.203466" elapsed="0.002611"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.203430" elapsed="0.002682"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.209971" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.210036" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.206339" elapsed="0.003729"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.212031" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.210176" elapsed="0.001911"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.210150" elapsed="0.001962"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.212146" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:25.212373" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.212418" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.192628" elapsed="0.019812"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.214691" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.213043" elapsed="0.001695"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.213026" elapsed="0.001735"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.215348" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.214917" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.215893" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.215539" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.215968" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:25.216147" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.212694" elapsed="0.003478"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.216424" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.191974" elapsed="0.024930"/>
</kw>
<arg>f219.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.143550" elapsed="0.073414"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.136575" elapsed="0.080531"/>
</test>
<test id="s1-s3-s1-t168" name="Test Is Flow 220 Deleted" line="410">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.228306" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.228473" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.228143" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.229082" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.228665" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.229566" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.229279" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.230036" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.229745" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.230501" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.230213" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.231489" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.230679" elapsed="0.000842"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.232024" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.231684" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.232567" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.232223" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.233094" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.232765" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.233620" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.233303" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.234158" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.233834" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.234699" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.234374" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.227802" elapsed="0.006997"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.235363" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.234952" elapsed="0.000442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.235792" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.235546" elapsed="0.000355"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.243847" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.243527" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.249583" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.249726" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.249863" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.244010" elapsed="0.005880"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.250355" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.250061" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.252564" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.250549" elapsed="0.002067"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.254512" elapsed="0.000038"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.252697" elapsed="0.001898"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.252672" elapsed="0.001949"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.254767" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.254995" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.254859" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.254842" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.255102" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:25.256761" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.256807" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.243184" elapsed="0.013646"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.259774" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.257413" elapsed="0.002432"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.257395" elapsed="0.002484"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.260769" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.260128" elapsed="0.000681"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.261592" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.261049" elapsed="0.000582"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.261702" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:25.261988" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.257058" elapsed="0.004967"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.262277" elapsed="0.000588"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.242600" elapsed="0.020361"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.273406" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.273069" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.279743" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.280114" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.280334" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.273573" elapsed="0.006803"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.281169" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.280701" elapsed="0.000559"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.285001" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.281479" elapsed="0.003600"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.287903" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.285198" elapsed="0.002783"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.285161" elapsed="0.002856"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.291634" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.291682" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.288250" elapsed="0.003457"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.293548" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.291785" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.291766" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.293664" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:25.293899" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.293944" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.272675" elapsed="0.021292"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.296165" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.294580" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.294562" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.296822" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.296406" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.297388" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.297013" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.297465" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:25.297643" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.294213" elapsed="0.003455"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.297843" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.272010" elapsed="0.026316"/>
</kw>
<arg>f220.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.224448" elapsed="0.073939"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.217347" elapsed="0.081167"/>
</test>
<test id="s1-s3-s1-t169" name="Test Is Flow 221 Deleted" line="412">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.309584" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f221.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.309753" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.309436" elapsed="0.000364"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.310398" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.309958" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.310933" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.310586" elapsed="0.000375"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.311408" level="INFO">${flow_id} = 344</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.311115" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.311867" level="INFO">${flow_priority} = 221</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.311592" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.312908" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.312046" elapsed="0.000893"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.313461" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.313102" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.314017" level="INFO">${flow_id} = 344</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.313661" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.314561" level="INFO">${flow_priority} = 221</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.314217" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.315071" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.314758" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.315602" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.315282" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.316117" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.315799" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.309084" elapsed="0.007132"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.316781" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.316393" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.317205" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;344&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;221&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-actions&lt;/flow-name&gt;
    &lt;priority&gt;221&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.316963" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.325115" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.324806" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.330107" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.330263" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=344?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.330365" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.325288" elapsed="0.005102"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.330871" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.330614" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.333031" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.331059" elapsed="0.002024"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.335215" elapsed="0.000065"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.333158" elapsed="0.002183"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.333136" elapsed="0.002243"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.335591" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.335929" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.335727" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.335702" elapsed="0.000339"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.336088" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:25.338593" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.338661" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 344 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.324485" elapsed="0.014210"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.341908" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.339518" elapsed="0.002459"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.339491" elapsed="0.002518"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.342837" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.342226" elapsed="0.000650"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.343657" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.343114" elapsed="0.000582"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.343768" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:25.344028" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.339007" elapsed="0.005058"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.344316" elapsed="0.000570"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.323905" elapsed="0.021076"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.353319" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.352999" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.359445" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.359637" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.359778" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.353477" elapsed="0.006329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.360389" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.360036" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.362950" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.360585" elapsed="0.002481"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.364936" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.363151" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.363126" elapsed="0.001888"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.368146" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.368212" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.365157" elapsed="0.003108"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.370835" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.368376" elapsed="0.002541"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.368350" elapsed="0.002605"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.371003" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:25.371323" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.371390" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 344 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.352619" elapsed="0.018804"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.374725" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.372300" elapsed="0.002494"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.372272" elapsed="0.002555"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.375724" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.375053" elapsed="0.000712"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.376564" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.376011" elapsed="0.000592"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.376676" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:25.376945" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.371771" elapsed="0.005212"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.377318" elapsed="0.000631"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.351987" elapsed="0.026056"/>
</kw>
<arg>f221.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.305803" elapsed="0.072327"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.298865" elapsed="0.079467"/>
</test>
<test id="s1-s3-s1-t170" name="Test Is Flow 222 Deleted" line="414">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.389466" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f222.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.389636" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.389315" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.390270" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.389850" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.390736" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.390452" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.391184" level="INFO">${flow_id} = 345</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.390916" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.391644" level="INFO">${flow_priority} = 222</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.391377" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.392364" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.391821" elapsed="0.000573"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.393088" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.392552" elapsed="0.000579"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.393679" level="INFO">${flow_id} = 345</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.393347" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.394224" level="INFO">${flow_priority} = 222</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.393896" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.394751" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.394434" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.395282" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.394949" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.395807" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.395481" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.388965" elapsed="0.006938"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.396452" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.396053" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.396876" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;222&lt;/priority&gt;
    &lt;flow-name&gt;Foo222&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;2.2.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;id&gt;345&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.396633" elapsed="0.000298"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.404920" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.404496" elapsed="0.000451"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.409522" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.409662" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=345?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.409796" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.405082" elapsed="0.004742"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.410265" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.409990" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.413180" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.410456" elapsed="0.002816"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.415865" elapsed="0.000046"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.413382" elapsed="0.002585"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.413350" elapsed="0.002652"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.416204" elapsed="0.000052"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.416549" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.416357" elapsed="0.000265"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.416333" elapsed="0.000389"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.416773" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:36:25.419077" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.419124" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 345 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.404155" elapsed="0.014992"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.421336" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.419740" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.419722" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.421989" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.421559" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.422549" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.422180" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.422626" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:25.422806" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.419393" elapsed="0.003439"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.422990" elapsed="0.000414"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.403576" elapsed="0.019894"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.431303" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.430980" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.436736" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.436910" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.437049" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.431462" elapsed="0.005614"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.437681" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.437347" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.443785" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.437911" elapsed="0.005952"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.446677" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.443991" elapsed="0.002764"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.443946" elapsed="0.002844"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.450704" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.450751" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.447000" elapsed="0.003775"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.452610" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.450857" elapsed="0.001810"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.450837" elapsed="0.001855"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.452726" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:25.452934" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.452978" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 345 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.430598" elapsed="0.022402"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.455339" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.453705" elapsed="0.001681"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.453687" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.455986" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.455562" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.456550" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.456177" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.456628" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:25.456811" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.453272" elapsed="0.003564"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.456993" elapsed="0.000413"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.429958" elapsed="0.027511"/>
</kw>
<arg>f222.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.385628" elapsed="0.071898"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.378695" elapsed="0.078955"/>
</test>
<test id="s1-s3-s1-t171" name="Test Is Flow 223 Deleted" line="416">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.468816" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f223.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.468984" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.468667" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.469594" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f86d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.469172" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.470080" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.469796" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.470550" level="INFO">${flow_id} = 346</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.470277" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.470996" level="INFO">${flow_priority} = 223</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.470727" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.471736" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.471171" elapsed="0.000596"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.472278" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.471929" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.472800" level="INFO">${flow_id} = 346</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.472478" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.473340" level="INFO">${flow_priority} = 223</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.472995" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.473883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.473535" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.474632" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.474081" elapsed="0.000598"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.475155" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f86d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.474831" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.468328" elapsed="0.006991"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.475864" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.475473" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.476303" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;223&lt;/priority&gt;
    &lt;flow-name&gt;Foo223&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination-address-no-mask&gt;7.0.17.0&lt;/ipv4-destination-address-no-mask&gt;
        &lt;ipv4-destination-arbitrary-bitmask&gt;255.0.241.0&lt;/ipv4-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;346&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.476044" elapsed="0.000317"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.484227" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.483917" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.489018" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.489160" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=346?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.489285" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.484404" elapsed="0.004908"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.489753" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.489479" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.491938" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.489943" elapsed="0.002047"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.493873" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.492068" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.492045" elapsed="0.001927"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.494116" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.494360" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.494208" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.494192" elapsed="0.000245"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.494470" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:25.496880" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.496947" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 346 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.483598" elapsed="0.013383"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.500261" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.497859" elapsed="0.002473"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.497832" elapsed="0.002532"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.501174" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.500583" elapsed="0.000630"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.502015" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.501475" elapsed="0.000578"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.502183" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:25.502476" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.497321" elapsed="0.005192"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.502745" elapsed="0.000608"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.483012" elapsed="0.020435"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.512407" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.512088" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.518054" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.518204" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.518345" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.512565" elapsed="0.005807"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.518872" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.518572" elapsed="0.000346"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.521339" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.519060" elapsed="0.002331"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.523283" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.521470" elapsed="0.001865"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.521446" elapsed="0.001913"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.526000" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.526059" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.523502" elapsed="0.002588"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.528508" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.526185" elapsed="0.002402"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.526161" elapsed="0.002461"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.528669" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:25.528946" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.529007" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 346 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.511708" elapsed="0.017330"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.532115" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.529890" elapsed="0.002289"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.529866" elapsed="0.002344"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.533005" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.532439" elapsed="0.000603"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.533802" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.533289" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.533910" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:25.534160" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.529378" elapsed="0.004818"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.534436" elapsed="0.000550"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.511066" elapsed="0.024083"/>
</kw>
<arg>f223.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.464982" elapsed="0.070268"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.457990" elapsed="0.077435"/>
</test>
<test id="s1-s3-s1-t172" name="Test Is Flow 224 Deleted" line="418">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.547379" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f224.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.547539" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.547216" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.548120" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.547721" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.548604" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.548318" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.549053" level="INFO">${flow_id} = 347</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.548784" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.549521" level="INFO">${flow_priority} = 224</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.549232" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.550278" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.549725" elapsed="0.000585"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.550805" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.550472" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.551342" level="INFO">${flow_id} = 347</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.551004" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.551869" level="INFO">${flow_priority} = 224</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.551541" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.552576" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.552064" elapsed="0.000559"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.553102" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.552778" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.553646" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.553316" elapsed="0.000400"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.546883" elapsed="0.006891"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.554323" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.553924" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.554746" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;224&lt;/priority&gt;
    &lt;flow-name&gt;Foo224&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-destination-address-no-mask&gt;2001:2001:2001:2001:2001:2001:4000:7000&lt;/ipv6-destination-address-no-mask&gt;
        &lt;ipv6-destination-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000&lt;/ipv6-destination-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;347&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.554504" elapsed="0.000299"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.562649" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.562342" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.567769" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.567884" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=347?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.567981" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.562808" elapsed="0.005199"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.568448" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.568169" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.570654" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.568638" elapsed="0.002067"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.572552" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.570779" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.570759" elapsed="0.001891"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.572795" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.573023" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.572886" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.572870" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.573132" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:25.574943" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.575007" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 347 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.562006" elapsed="0.013034"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.578112" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.575842" elapsed="0.002335"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.575815" elapsed="0.002394"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.579005" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.578439" elapsed="0.000603"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.579790" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.579291" elapsed="0.000536"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.579897" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:25.580149" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.575364" elapsed="0.004821"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.580433" elapsed="0.000545"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.561405" elapsed="0.019661"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.590518" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.590197" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.596595" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.596848" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.596980" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.590676" elapsed="0.006331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.597570" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.597229" elapsed="0.000388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.600096" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.597782" elapsed="0.002367"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.602036" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.600247" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.600206" elapsed="0.001908"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.604722" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.604769" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.602272" elapsed="0.002522"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.606707" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.604872" elapsed="0.001918"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.604853" elapsed="0.001973"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.606876" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:25.607175" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.607261" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 347 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.589817" elapsed="0.017480"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.610603" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.608147" elapsed="0.002524"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.608122" elapsed="0.002582"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.611550" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.610926" elapsed="0.000664"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.612379" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.611831" elapsed="0.000587"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.612491" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:25.612754" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.607644" elapsed="0.005147"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.613024" elapsed="0.000614"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.589158" elapsed="0.024612"/>
</kw>
<arg>f224.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.543559" elapsed="0.070296"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.535834" elapsed="0.078200"/>
</test>
<test id="s1-s3-s1-t173" name="Test Is Flow 225 Deleted" line="420">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.625729" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f225.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.625928" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.625520" elapsed="0.000438"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.626593" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ddb20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.626131" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.627147" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.626776" elapsed="0.000399"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.627621" level="INFO">${flow_id} = 348</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.627346" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.628070" level="INFO">${flow_priority} = 225</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.627799" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.628845" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.628260" elapsed="0.000616"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.629396" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.629041" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.629932" level="INFO">${flow_id} = 348</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.629595" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.630472" level="INFO">${flow_priority} = 225</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.630128" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.631208" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.630669" elapsed="0.000603"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.631751" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.631427" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.632294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ddb20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.631953" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.625146" elapsed="0.007249"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.632955" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;et...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.632549" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.633396" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;priority&gt;225&lt;/priority&gt;
    &lt;flow-name&gt;Foo225&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source-address-no-mask&gt;2001:2001:2001:2001:0000:2001:4000:0000&lt;/ipv6-source-address-no-mask&gt;
        &lt;ipv6-source-arbitrary-bitmask&gt;FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000&lt;/ipv6-source-arbitrary-bitmask&gt;
    &lt;/match&gt;
    &lt;id&gt;348&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                   &lt;order&gt;0&lt;/order&gt;
                   &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.633135" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.641297" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.640971" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.646901" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.647085" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=348?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.647220" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.641455" elapsed="0.005835"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.647949" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.647588" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.651014" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.648215" elapsed="0.002870"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.653722" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.651195" elapsed="0.002631"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.651162" elapsed="0.002701"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.654062" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.654402" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.654190" elapsed="0.000286"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.654167" elapsed="0.000342"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.654554" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:25.656854" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.656917" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 348 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.640654" elapsed="0.016295"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.659632" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.657796" elapsed="0.001884"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.657770" elapsed="0.001933"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.660265" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.659850" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.660813" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.660455" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.660889" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:25.661067" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.657267" elapsed="0.003826"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.661266" elapsed="0.000497"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.640066" elapsed="0.021773"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.669717" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.669383" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.675460" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.675613" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.675741" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.669876" elapsed="0.005892"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.676320" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.675987" elapsed="0.000381"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.679013" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.676517" elapsed="0.002570"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.681810" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.679297" elapsed="0.002588"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.679260" elapsed="0.002659"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.685550" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.685617" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.682121" elapsed="0.003552"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.688198" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.685783" elapsed="0.002515"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.685756" elapsed="0.002577"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.688381" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:25.688668" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.688730" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 348 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.668988" elapsed="0.019774"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.691519" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.689586" elapsed="0.001980"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.689560" elapsed="0.002028"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.692160" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.691741" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.692727" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.692366" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.692803" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:25.692983" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.689089" elapsed="0.003921"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.693167" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.668349" elapsed="0.025320"/>
</kw>
<arg>f225.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.621432" elapsed="0.072297"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.614473" elapsed="0.079383"/>
</test>
<test id="s1-s3-s1-t174" name="Test Is Flow 550 Deleted" line="422">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.704917" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f550.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.705083" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.704771" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.705728" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df5b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.705282" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.706195" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.705913" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.706666" level="INFO">${flow_id} = 550</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.706394" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.707118" level="INFO">${flow_priority} = 550</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.706845" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.707922" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.707314" elapsed="0.000640"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.708471" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.708116" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.709280" level="INFO">${flow_id} = 550</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.708675" elapsed="0.000652"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.709838" level="INFO">${flow_priority} = 550</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.709484" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.710370" level="INFO">${data} = &lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
   ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.710035" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.710895" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.710571" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.711434" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df5b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.711095" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.704434" elapsed="0.007099"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.712070" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;f...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.711682" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.712513" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;hard-timeout&gt;0&lt;/hard-timeout&gt;
    &lt;idle-timeout&gt;0&lt;/idle-timeout&gt;
    &lt;priority&gt;550&lt;/priority&gt;
    &lt;flow-name&gt;flow-tunnel&lt;/flow-name&gt;
    &lt;match&gt;
        &lt;extension-list xmlns="urn:opendaylight:openflowplugin:extension:general"&gt;
            &lt;extension-key xmlns:x="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;x:nxm-nx-tun-ipv4-src-key&lt;/extension-key&gt;
            &lt;extension&gt;
                &lt;nxm-nx-tun-ipv4-src xmlns="urn:opendaylight:openflowplugin:extension:nicira:match"&gt;
                    &lt;ipv4-address&gt;192.168.0.10&lt;/ipv4-address&gt;
                &lt;/nxm-nx-tun-ipv4-src&gt;
            &lt;/extension&gt;
        &lt;/extension-list&gt;
    &lt;/match&gt;
    &lt;id&gt;550&lt;/id&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.712267" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.720541" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.720200" elapsed="0.000368"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.725998" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.726132" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=550?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.726253" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.720703" elapsed="0.005579"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.726712" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.726450" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.728922" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.726904" elapsed="0.002070"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:25.730847" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:36:25.729052" elapsed="0.001871"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.729029" elapsed="0.001921"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:25.731097" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.731399" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.731258" elapsed="0.000194"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:25.731224" elapsed="0.000253"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.731510" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:25.733170" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:25.733216" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 550 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.719873" elapsed="0.013379"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.735929" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.733862" elapsed="0.002135"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.733843" elapsed="0.002187"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.736873" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.736271" elapsed="0.000642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.737751" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.737153" elapsed="0.000639"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.737866" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:25.738134" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.733484" elapsed="0.004687"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.738429" elapsed="0.000586"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.719196" elapsed="0.019916"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.749344" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.749004" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.755141" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0uu803xrgx0bf1xalkgnbslx8i8.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.755405" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:36:25.755592" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.749507" elapsed="0.006125"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.756427" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.755951" elapsed="0.000546"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.760164" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.756708" elapsed="0.003559"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.763069" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.760389" elapsed="0.002758"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.760352" elapsed="0.002829"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.767019" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:36:25.767068" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:25.763422" elapsed="0.003670"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:25.768938" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:25.767176" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.767155" elapsed="0.001865"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:25.769054" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:25.769284" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:36:25.769329" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 550 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:25.748614" elapsed="0.020738"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:25.771706" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:25.770087" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:25.770069" elapsed="0.001706"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.772383" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.771929" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.772935" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:25.772576" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:25.773013" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:25.773197" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:25.769724" elapsed="0.003500"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:25.773401" elapsed="0.000422"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:25.747938" elapsed="0.025952"/>
</kw>
<arg>f550.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:25.701100" elapsed="0.072851"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:25.694168" elapsed="0.079912"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:36:25.775268" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:36:25.775168" elapsed="0.000180"/>
</kw>
<doc>Test suite for Stats Manager flows collection</doc>
<status status="PASS" start="2026-05-25T00:35:53.361463" elapsed="32.413921"/>
</suite>
<suite id="s1-s3-s2" name="020 SM sal add upd del flows" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Flows_Additional_TCs/Stat_Manager_extended/020_SM_sal_add_upd_del_flows.robot">
<kw name="Initialization Phase" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.830122" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d13e0558d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:36:25.829752" elapsed="0.000579"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Switches In Inventory" owner="FlowLib">
<for flavor="IN RANGE">
<iter>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:25.848438" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:25.850402" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:36:25 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":57942,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"15","active-flows":1,"packets-matched":"14"},"flow":[{"id":"#UF$TABLE*0-8","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"14","byte-count":"1116","duration":{"second":30,"nanosecond":389000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:25.850808" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.834493" elapsed="0.016360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.854710" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":57942,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"15","active-flows":1,"packets-matched":"14"},"flow":[{"id":"#UF$TABLE*0-8","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"14","byte-count":"1116","duration":{"second":30,"nanosecond":389000000}},"flags":"SEND_FLOW_REM"}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:36:23.889Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"0a:fa:fa:c5:21:2e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"15","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":30,"nanosecond":564000000},"bytes":{"transmitted":"1251","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:3f:a7:18:0b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":30,"nanosecond":556000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"4e:06:88:8b:6f:2b","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"16","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":30,"nanosecond":565000000},"bytes":{"transmitted":"1321","received":"726"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:36:23.908Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.851181" elapsed="0.004105"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-capable-node-connector-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:36:25.855523" elapsed="0.003399"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>flow-table-statistics</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:36:25.859084" elapsed="0.002303"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:36:25.834372" elapsed="0.027062"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:36:25.832439" elapsed="0.029035"/>
</for>
<arg>${1}</arg>
<doc>Check all switches and stats in operational inventory</doc>
<status status="PASS" start="2026-05-25T00:36:25.831081" elapsed="0.030470"/>
</kw>
<arg>10x</arg>
<arg>1s</arg>
<arg>FlowLib.Check Switches In Inventory</arg>
<arg>${1}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:36:25.830506" elapsed="0.031159"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:36:25.863765" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:36:25.861839" elapsed="0.001987"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:36:25.897318" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=32.365s, table=0, n_packets=14, n_bytes=1116, send_flow_rem priority=0 actions=CONTROLLER:65535
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:36:25.863990" elapsed="0.033433"/>
</kw>
<doc>Initiate tcp connection with controller</doc>
<status status="PASS" start="2026-05-25T00:36:25.829415" elapsed="0.068096"/>
</kw>
<test id="s1-s3-s2-t1" name="Test Add Flows Group 0" line="36">
<for flavor="IN">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.899193" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:25.898594" elapsed="0.000844"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:25.907571" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:25.907938" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:25.907206" elapsed="0.000796"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:25.909399" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6430&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.908422" elapsed="0.001042"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.910555" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.909876" elapsed="0.000718"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.911019" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.910749" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:25.911483" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:25.911196" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:25.912617" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:25.911661" elapsed="0.000989"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.913155" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.912817" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.913701" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.913368" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.914210" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.913896" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.914726" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.914420" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.915228" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.914923" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:25.915746" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6430&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:25.915441" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:25.906339" elapsed="0.009506"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:25.920221" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f7830&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:25.919875" elapsed="0.000389"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:25.920416" elapsed="0.000274"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:25.920844" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.921250" elapsed="0.000251"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:25.921696" elapsed="0.000567"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:25.922698" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e3548b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.922423" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:25.922878" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:25.923755" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:25.923290" elapsed="0.000528"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:25.924378" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:25.923968" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:26.494016" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '898', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:26.494195" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:26.494555" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:25.924543" elapsed="0.570079"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.499113" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:26.495111" elapsed="0.004066"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4f6430&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4f6430&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:25.919512" elapsed="0.579796"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:25.915999" elapsed="0.583393"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-05-25T00:36:25.898403" elapsed="0.601042"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.500154" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:26.499798" elapsed="0.000420"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:26.505167" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:26.505413" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:26.504969" elapsed="0.000579"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:26.506373" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fbb50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:26.505775" elapsed="0.000639"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:26.507029" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:26.506632" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:26.507685" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:26.507302" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:26.508335" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:26.507933" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:26.511009" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:26.508588" elapsed="0.002453"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.511558" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:26.511207" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.512069" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:26.511756" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.512595" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:26.512280" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.513093" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:26.512791" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.513631" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:26.513306" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.514140" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fbb50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:26.513828" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:26.504479" elapsed="0.009773"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:26.518584" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f7420&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:26.518225" elapsed="0.000387"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:26.518778" elapsed="0.000280"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:26.519245" elapsed="0.000255"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:26.519652" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:26.520048" elapsed="0.000357"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:26.520834" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f6110&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:26.520560" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:26.521010" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:26.521816" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:26.521450" elapsed="0.000426"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:26.522465" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:26.522059" elapsed="0.000437"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:26.992138" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '889', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:26.992366" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:26.992655" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:26.522627" elapsed="0.470090"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.997855" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:26.993197" elapsed="0.004758"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fbb50&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fbb50&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:26.517861" elapsed="0.480233"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:26.514407" elapsed="0.483806"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-05-25T00:36:26.499611" elapsed="0.498717"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:26.999480" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:26.998874" elapsed="0.000708"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:27.004266" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:27.004473" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:27.004102" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:27.005088" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:27.004661" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:27.005640" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:27.005348" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:27.006101" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:27.005825" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:27.006578" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:27.006304" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:27.007397" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:27.006756" elapsed="0.000672"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.007925" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.007593" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.008450" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.008123" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.008962" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.008649" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.009490" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.009167" elapsed="0.000455"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.010093" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.009779" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.010841" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.010323" elapsed="0.000563"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:27.003738" elapsed="0.007205"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:27.015298" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f6d90&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.014949" elapsed="0.000378"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:27.015586" elapsed="0.000277"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.016020" elapsed="0.000266"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:27.016440" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.016842" elapsed="0.000359"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:27.017645" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f5300&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:27.017374" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:27.017821" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:27.018593" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.018216" elapsed="0.000438"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:27.019181" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.018801" elapsed="0.000410"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:27.493510" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '865', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:27.493702" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:27.494068" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:27.019358" elapsed="0.474792"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.499657" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:27.494817" elapsed="0.004946"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4f6390&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4f6390&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:27.014584" elapsed="0.485325"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:27.011096" elapsed="0.489052"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-05-25T00:36:26.998576" elapsed="0.501693"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.501584" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:27.500871" elapsed="0.000803"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:27.505332" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:27.505518" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:27.505161" elapsed="0.000388"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:27.506156" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357740&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:27.505706" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:27.506676" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:27.506364" elapsed="0.000339"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:27.507136" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:27.506861" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:27.507628" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:27.507334" elapsed="0.000321"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:27.508520" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:27.507809" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.509082" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.508719" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.509649" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.509313" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.510164" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.509849" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.510695" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.510381" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.511471" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.510896" elapsed="0.000626"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.511999" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357740&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:27.511681" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:27.504781" elapsed="0.007316"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:27.516463" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e355ad0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.516082" elapsed="0.000410"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:27.516644" elapsed="0.000309"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.517119" elapsed="0.000280"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:27.517555" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.517958" elapsed="0.000361"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:27.518761" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f45e0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:27.518484" elapsed="0.000305"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:27.518940" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:27.519799" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.519414" elapsed="0.000450"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:27.520452" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:27.520014" elapsed="0.000471"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:27.994173" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1082', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:27.994397" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:27.994678" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:27.520619" elapsed="0.474121"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:27.999905" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:27.995193" elapsed="0.004813"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e357740&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e357740&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:27.515717" elapsed="0.484427"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:27.512270" elapsed="0.488027"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-05-25T00:36:27.500563" elapsed="0.499819"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.001554" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:28.000952" elapsed="0.000705"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:28.009663" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:28.009842" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:28.009344" elapsed="0.000527"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:28.010476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:28.010026" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:28.010946" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:28.010661" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:28.011415" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:28.011126" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:28.011867" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:28.011592" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:28.012857" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:28.012119" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.013403" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.013053" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.013916" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.013603" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.014447" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.014113" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.015140" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.014647" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.015689" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.015357" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.016204" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.015892" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:28.008457" elapsed="0.007862"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:28.020626" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f6110&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.020279" elapsed="0.000380"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:28.020836" elapsed="0.000269"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.021272" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:28.021663" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.022059" elapsed="0.000355"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:28.022834" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f7060&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:28.022567" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:28.023009" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:28.023801" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.023423" elapsed="0.000441"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:28.024425" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.024010" elapsed="0.000446"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:28.494719" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1191', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:28.494942" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:28.495146" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:28.024586" elapsed="0.470606"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.498664" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:28.495577" elapsed="0.003149"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fb920&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fb920&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:28.019902" elapsed="0.478918"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:28.016471" elapsed="0.482424"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-05-25T00:36:28.000623" elapsed="0.498324"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.499675" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:28.499320" elapsed="0.000418"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:28.504806" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:28.505027" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:28.504599" elapsed="0.000475"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:28.505981" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fade0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:28.505360" elapsed="0.000665"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:28.506690" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:28.506264" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:28.507354" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:28.506944" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:28.507987" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:28.507605" elapsed="0.000419"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:28.509256" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:28.508254" elapsed="0.001048"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.509991" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.509532" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.510721" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.510288" elapsed="0.000490"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.511448" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.510991" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.512423" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.511719" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.513184" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.512746" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.513848" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fade0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:28.513487" elapsed="0.000403"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:28.504034" elapsed="0.009911"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:28.518319" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f5d00&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.517934" elapsed="0.000414"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:28.518501" elapsed="0.000280"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.518937" elapsed="0.000242"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:28.519399" elapsed="0.000255"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.519808" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:28.520642" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e356f20&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:28.520328" elapsed="0.000343"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:28.520824" elapsed="0.000257"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:28.521633" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.521251" elapsed="0.000452"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:28.522269" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:28.521852" elapsed="0.000449"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:28.995696" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1151', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:28.995824" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:28.996022" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:28.522435" elapsed="0.473624"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:28.999405" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:28.996425" elapsed="0.003038"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fade0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fade0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:28.517530" elapsed="0.482019"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:28.514098" elapsed="0.485526"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-05-25T00:36:28.499112" elapsed="0.500562"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.000350" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:29" elapsed="0.000441"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:29.005349" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:29.005558" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:29.005135" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:29.006519" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fba10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:29.005917" elapsed="0.000641"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:29.007132" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:29.006767" elapsed="0.000400"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:29.007740" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:29.007391" elapsed="0.000382"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:29.008348" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:29.007978" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:29.009649" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:29.008610" elapsed="0.001078"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.010360" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.009908" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.011027" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.010625" elapsed="0.000456"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.011972" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.011303" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.012694" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.012230" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.013376" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.012959" elapsed="0.000477"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.014041" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fba10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.013640" elapsed="0.000456"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:29.004666" elapsed="0.009502"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:29.020320" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d7ba0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.019829" elapsed="0.000527"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:29.020576" elapsed="0.000358"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.021142" elapsed="0.000335"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:29.021676" elapsed="0.000316"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.022194" elapsed="0.000459"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:29.023198" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d5e90&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:29.022857" elapsed="0.000375"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:29.023450" elapsed="0.000314"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:29.024529" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.023959" elapsed="0.000725"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:29.025460" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.024885" elapsed="0.000616"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:29.497542" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1336', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:29.497724" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:29.497995" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:29.025677" elapsed="0.472379"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.503217" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:29.498571" elapsed="0.004773"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fba10&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fba10&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:29.019352" elapsed="0.484129"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:29.014386" elapsed="0.489216"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-05-25T00:36:28.999824" elapsed="0.503859"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.504786" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:29.504275" elapsed="0.000579"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:29.510007" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:29.510230" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:29.509809" elapsed="0.000483"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:29.511134" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fbc90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:29.510511" elapsed="0.000665"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:29.511814" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:29.511416" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:29.512529" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:29.512064" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:29.513033" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:29.512759" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:29.514211" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:29.513211" elapsed="0.001046"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.514761" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.514424" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.515285" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.514959" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.515861" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.515540" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.516396" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.516057" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.516910" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.516598" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:29.517439" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fbc90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:29.517111" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:29.509317" elapsed="0.008222"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:29.521852" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f4900&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.521485" elapsed="0.000396"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:29.522029" elapsed="0.000285"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.522469" elapsed="0.000244"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:29.522865" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.523278" elapsed="0.000341"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:29.524044" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e355fd0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:29.523774" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:29.524365" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:29.525171" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.524766" elapsed="0.000488"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:29.525831" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:29.525405" elapsed="0.000457"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:29.998532" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1490', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:29.998834" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:29.999126" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:29.525992" elapsed="0.473202"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.004364" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:29.999677" elapsed="0.004797"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fbc90&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fbc90&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:29.521109" elapsed="0.483503"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:29.517692" elapsed="0.487032"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-05-25T00:36:29.503921" elapsed="0.500856"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.005510" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:30.005121" elapsed="0.000454"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:30.010486" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:30.010701" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:30.010282" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:30.011595" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:30.010959" elapsed="0.000679"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:30.012288" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:30.011852" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:30.012923" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:30.012541" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:30.013572" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:30.013169" elapsed="0.000440"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:30.015135" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:30.013823" elapsed="0.001356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.015887" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.015427" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.016676" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.016217" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.017196" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.016881" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.017716" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.017413" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.018223" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.017915" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.018758" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.018441" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:30.009773" elapsed="0.009082"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:30.023169" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e2f89f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.022813" elapsed="0.000385"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:30.023361" elapsed="0.000266"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.023779" elapsed="0.000259"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:30.024232" elapsed="0.000267"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.024652" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:30.025433" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f6e80&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:30.025145" elapsed="0.000316"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:30.025610" elapsed="0.000251"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:30.026422" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.026011" elapsed="0.000479"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:30.027063" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.026639" elapsed="0.000455"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:30.499338" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1446', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:30.499530" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:30.499910" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:30.027225" elapsed="0.472753"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.504964" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:30.500470" elapsed="0.004558"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dd2a520&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dd2a520&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:30.022440" elapsed="0.482677"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:30.019007" elapsed="0.486190"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-05-25T00:36:30.004934" elapsed="0.500335"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.505977" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:30.505617" elapsed="0.000425"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:30.511009" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:30.511287" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:30.510806" elapsed="0.000528"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:30.512207" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0db20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:30.511553" elapsed="0.000717"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:30.512892" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:30.512493" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:30.513549" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:30.513144" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:30.514183" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:30.513798" elapsed="0.000421"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:30.515775" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:30.514452" elapsed="0.001401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.516572" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.516088" elapsed="0.000545"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.517129" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.516816" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.517658" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.517341" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.518161" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.517853" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.518686" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.518375" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:30.519203" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0db20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:30.518892" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:30.510217" elapsed="0.009100"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:30.523637" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd29f80&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.523273" elapsed="0.000392"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:30.523829" elapsed="0.000269"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.524267" elapsed="0.000242"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:30.524662" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.525059" elapsed="0.000357"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:30.525841" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd2a2f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:30.525570" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:30.526016" elapsed="0.000266"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:30.526831" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.526431" elapsed="0.000519"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:30.527537" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:30.527099" elapsed="0.000469"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:31.000489" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1450', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:31.000673" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:31.000955" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:30.527701" elapsed="0.473316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.005685" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:31.001502" elapsed="0.004248"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0db20&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0db20&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:30.522887" elapsed="0.482958"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:30.519471" elapsed="0.486453"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-05-25T00:36:30.505429" elapsed="0.500548"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.006695" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:31.006341" elapsed="0.000418"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:31.011733" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:31.011960" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:31.011471" elapsed="0.000531"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:31.012846" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e9d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:31.012219" elapsed="0.000669"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:31.013370" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:31.013052" elapsed="0.000345"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:31.013831" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:31.013554" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:31.014302" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:31.014011" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:31.015447" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:31.014481" elapsed="0.000997"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.016000" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.015666" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.016588" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.016200" elapsed="0.000431"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.017113" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.016793" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.017644" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.017332" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.018158" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.017845" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.018695" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e9d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.018383" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:31.010916" elapsed="0.007877"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:31.023348" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2b060&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.022792" elapsed="0.000586"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:31.023531" elapsed="0.000313"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.024008" elapsed="0.000274"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:31.024437" elapsed="0.000250"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.024840" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:31.025625" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0f420&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:31.025350" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:31.025805" elapsed="0.000251"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:31.026619" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.026205" elapsed="0.000481"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:31.027271" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.026834" elapsed="0.000469"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:31.501679" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1441', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:31.501983" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:31.502311" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:31.027433" elapsed="0.474944"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.507492" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:31.502813" elapsed="0.004785"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0e9d0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0e9d0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:31.022418" elapsed="0.485316"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:31.018945" elapsed="0.488914"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-05-25T00:36:31.006133" elapsed="0.501808"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.509090" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:31.508513" elapsed="0.000680"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:31.516434" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:31.516597" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:31.516285" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:31.517233" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c590&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:31.516780" elapsed="0.000500"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:31.517719" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:31.517436" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:31.518178" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:31.517907" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:31.518829" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:31.518372" elapsed="0.000484"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:31.519812" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:31.519010" elapsed="0.000834"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.520355" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.520007" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.520871" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.520554" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.521396" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.521065" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.521903" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.521591" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.522428" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.522099" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:31.522941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c590&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:31.522633" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:31.515914" elapsed="0.007124"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:31.527390" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dc0fc90&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.527013" elapsed="0.000438"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:31.527604" elapsed="0.000274"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.528029" elapsed="0.000253"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:31.528475" elapsed="0.000250"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.528877" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:31.529661" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2f8180&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:31.529388" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:31.529838" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:31.530649" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.530248" elapsed="0.000470"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:31.531300" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:31.530864" elapsed="0.000467"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:32.002987" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1669', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:32.003187" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:32.003527" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:31.531475" elapsed="0.472115"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.008717" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:32.004042" elapsed="0.004740"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0c590&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0c590&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:31.526653" elapsed="0.482223"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:31.523189" elapsed="0.485762"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-05-25T00:36:31.508182" elapsed="0.500885"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.009803" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:32.009445" elapsed="0.000422"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:32.014802" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:32.015018" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:32.014602" elapsed="0.000456"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:32.015903" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8f90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:32.015310" elapsed="0.000641"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:32.016586" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:32.016167" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:32.017216" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:32.016836" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:32.017869" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:32.017488" elapsed="0.000418"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:32.019089" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:32.018119" elapsed="0.001013"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.019846" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.019408" elapsed="0.000481"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.020368" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.020043" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.020879" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.020564" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.021394" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.021072" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.021902" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.021591" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.022428" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8f90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.022100" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:32.014087" elapsed="0.008439"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:32.026836" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4ca7f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.026485" elapsed="0.000380"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:32.027013" elapsed="0.000307"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.027473" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:32.027861" elapsed="0.000242"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.028266" elapsed="0.000344"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:32.029027" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4cbec0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:32.028762" elapsed="0.000292"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:32.029200" elapsed="0.001589"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:32.031374" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.030944" elapsed="0.000535"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:32.032039" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.031630" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:32.504524" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1234', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:32.504712" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:32.505023" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:32.032202" elapsed="0.472885"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.510393" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:32.505620" elapsed="0.004877"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4c8f90&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4c8f90&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:32.026107" elapsed="0.484532"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:32.022694" elapsed="0.488069"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-05-25T00:36:32.009252" elapsed="0.501594"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.512053" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:32.511473" elapsed="0.000705"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:32.517792" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:32.517968" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:32.517643" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:32.518630" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ddcb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:32.518158" elapsed="0.000504"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:32.519129" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:32.518820" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:32.519617" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:32.519337" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:32.520072" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:32.519797" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:32.520970" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:32.520273" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.521531" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.521166" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.522048" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.521732" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.522668" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.522339" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.523202" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.522868" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.523757" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.523433" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:32.524293" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ddcb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:32.523959" elapsed="0.000391"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:32.517281" elapsed="0.007128"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:32.529034" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d5030&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.528677" elapsed="0.000385"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:32.529212" elapsed="0.000299"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.529666" elapsed="0.000245"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:32.530066" elapsed="0.000265"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.530494" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:32.531312" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dd260&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:32.530997" elapsed="0.000343"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:32.531677" elapsed="0.000260"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:32.532496" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.532089" elapsed="0.000473"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:32.533115" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:32.532711" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:33.005192" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1237', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:33.005604" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:33.005920" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:32.533292" elapsed="0.472707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.010186" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:33.006624" elapsed="0.003639"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4ddcb0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4ddcb0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:32.528298" elapsed="0.482052"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:32.524566" elapsed="0.485857"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-05-25T00:36:32.511128" elapsed="0.499343"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.011159" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:33.010799" elapsed="0.000418"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:33.016096" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:33.016350" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:33.015914" elapsed="0.000475"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:33.017154" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebd96c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:33.016591" elapsed="0.000599"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:33.017771" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:33.017415" elapsed="0.000390"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:33.018372" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:33.018007" elapsed="0.000399"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:33.018976" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:33.018606" elapsed="0.000404"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:33.020148" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:33.019212" elapsed="0.000975"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.020842" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.020420" elapsed="0.000476"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.021512" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.021098" elapsed="0.000468"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.022172" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.021768" elapsed="0.000457"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.022940" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.022449" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.025815" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.023495" elapsed="0.002468"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.027280" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ebd96c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.026457" elapsed="0.000926"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:33.015456" elapsed="0.012061"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:33.036611" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e2fb380&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.036223" elapsed="0.000417"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:33.036791" elapsed="0.000272"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.037215" elapsed="0.000281"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:33.037723" elapsed="0.000253"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.038130" elapsed="0.000568"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:33.039160" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4ab4c0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:33.038878" elapsed="0.000311"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:33.039370" elapsed="0.000254"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:33.040160" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.039776" elapsed="0.000450"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:33.040820" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.040410" elapsed="0.000443"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:33.506558" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1197', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:33.506780" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:33.507057" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:33.040987" elapsed="0.466134"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.512384" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:33.507662" elapsed="0.004826"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13ebd96c0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13ebd96c0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:33.035846" elapsed="0.476783"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:33.027868" elapsed="0.484884"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-05-25T00:36:33.010623" elapsed="0.502211"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.513976" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:33.513401" elapsed="0.000676"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:33.518605" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:33.518834" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:33.518460" elapsed="0.000473"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:33.519550" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:33.519096" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:33.520043" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:33.519741" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:33.520528" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:33.520228" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:33.520988" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:33.520710" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:33.521803" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:33.521168" elapsed="0.000666"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.522346" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.521999" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.522894" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.522545" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.523425" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.523091" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.523927" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.523621" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.524452" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.524125" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:33.524961" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:33.524652" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:33.518088" elapsed="0.006971"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:33.529408" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e356840&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.529058" elapsed="0.000379"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:33.529586" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.530006" elapsed="0.000256"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:33.530415" elapsed="0.000273"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.530840" elapsed="0.000534"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:33.531808" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e356f70&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:33.531532" elapsed="0.000305"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:33.531987" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:33.532755" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.532402" elapsed="0.000414"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:33.533403" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:33.533000" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:34.007314" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '951', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:34.007490" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:34.007749" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:33.533565" elapsed="0.474244"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.012941" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:34.008281" elapsed="0.004758"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fb600&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fb600&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:33.528692" elapsed="0.484481"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:33.525210" elapsed="0.488112"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-05-25T00:36:33.513075" elapsed="0.500330"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.014565" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:34.013928" elapsed="0.000740"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:34.018250" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:34.018425" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:34.018092" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:34.019066" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9ee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:34.018646" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:34.019558" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:34.019267" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:34.020008" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:34.019738" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:34.020473" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:34.020185" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:34.021248" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:34.020651" elapsed="0.000630"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.021774" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.021444" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.022299" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.021972" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.022830" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.022514" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.023343" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.023025" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.023917" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.023603" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.024449" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9ee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.024118" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:34.017736" elapsed="0.006810"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:34.028997" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4c89f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.028655" elapsed="0.000372"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:34.029178" elapsed="0.000312"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.029654" elapsed="0.000249"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:34.030059" elapsed="0.000276"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.030515" elapsed="0.000529"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:34.031515" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4c8770&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:34.031202" elapsed="0.000342"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:34.031698" elapsed="0.000253"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:34.032485" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.032100" elapsed="0.000448"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:34.033089" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.032697" elapsed="0.000423"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:34.508743" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '920', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:34.508938" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:34.509222" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:34.033274" elapsed="0.476093"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.514744" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:34.509866" elapsed="0.004981"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4c9ee0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4c9ee0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:34.028277" elapsed="0.486836"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:34.024697" elapsed="0.490578"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-05-25T00:36:34.013640" elapsed="0.501724"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.516617" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:34.515916" elapsed="0.000805"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:34.523770" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:34.523944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:34.523618" elapsed="0.000357"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:34.524590" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f57b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:34.524132" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:34.525066" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:34.524776" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:34.525533" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:34.525259" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:34.525980" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:34.525709" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:34.526823" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:34.526158" elapsed="0.000696"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.527369" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.527019" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.527887" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.527575" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.528408" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.528083" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.528908" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.528602" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.529424" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.529104" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:34.529924" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f57b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:34.529620" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:34.523216" elapsed="0.006805"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:34.534375" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f7010&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.534002" elapsed="0.000402"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:34.534554" elapsed="0.000272"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.534980" elapsed="0.000238"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:34.535386" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.535787" elapsed="0.000541"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:34.536760" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f6a70&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:34.536487" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:34.536980" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:34.537762" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.537400" elapsed="0.000423"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:34.538398" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:34.537972" elapsed="0.000457"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:35.009609" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '916', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:35.009781" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:35.010050" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:34.538563" elapsed="0.471586"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.015230" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:35.010653" elapsed="0.004664"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4f57b0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4f57b0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:34.533636" elapsed="0.481776"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:34.530173" elapsed="0.485317"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-05-25T00:36:34.515622" elapsed="0.499919"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.016320" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:35.015915" elapsed="0.000473"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:35.021479" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:35.021704" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:35.021277" elapsed="0.000469"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:35.022630" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0cef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:35.021978" elapsed="0.000694"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:35.023328" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:35.022885" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:35.023991" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:35.023592" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:35.024674" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:35.024273" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:35.026071" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:35.025012" elapsed="0.001140"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.026888" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.026413" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.027412" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.027088" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.027918" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.027606" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.028431" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.028113" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.028936" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.028630" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.029454" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0cef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.029132" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:35.020762" elapsed="0.008789"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:35.034061" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd29530&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.033707" elapsed="0.000401"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:35.034274" elapsed="0.000271"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.034700" elapsed="0.000244"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:35.035095" elapsed="0.000261"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.035511" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:35.036284" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd288b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:35.035998" elapsed="0.000314"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:35.036462" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:35.037254" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.036854" elapsed="0.000468"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:35.037878" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.037468" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:35.510652" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1286', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:35.510991" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:35.511331" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:35.038039" elapsed="0.473360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.516521" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:35.511860" elapsed="0.004763"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0cef0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0cef0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:35.033343" elapsed="0.483421"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:35.029702" elapsed="0.487185"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-05-25T00:36:35.015706" elapsed="0.501267"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.518362" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:35.517560" elapsed="0.000910"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:35.522439" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:35.522626" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:35.522283" elapsed="0.000374"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:35.523287" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28270&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:35.522815" elapsed="0.000504"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:35.523763" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:35.523476" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:35.524217" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:35.523944" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:35.524691" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:35.524415" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:35.525626" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:35.524871" elapsed="0.000787"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.526284" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.525824" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.526802" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.526489" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.527328" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.526997" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.528026" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.527525" elapsed="0.000553"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.528564" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.528249" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:35.529085" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28270&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:35.528764" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:35.521699" elapsed="0.007484"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:35.538629" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd288b0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.537546" elapsed="0.001155"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:35.539073" elapsed="0.000694"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.540145" elapsed="0.000623"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:35.541296" elapsed="0.000679"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.542386" elapsed="0.000659"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:35.543498" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd28450&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:35.543204" elapsed="0.000322"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:35.543678" elapsed="0.000251"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:35.544495" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.544082" elapsed="0.000480"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:35.545127" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:35.544713" elapsed="0.000445"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:36.011324" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1284', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:36.011513" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:36.011803" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:35.545309" elapsed="0.466558"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.016992" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:36.012361" elapsed="0.004732"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dd28270&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dd28270&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:35.536607" elapsed="0.480626"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:35.529352" elapsed="0.488040"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-05-25T00:36:35.517224" elapsed="0.500250"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.018713" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:36.018098" elapsed="0.000718"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:36.022397" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:36.022629" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:36.022234" elapsed="0.000426"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:36.023285" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dcb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:36.022817" elapsed="0.000500"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:36.023762" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:36.023475" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:36.024222" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:36.023947" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:36.024695" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:36.024420" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:36.025650" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:36.024876" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.026409" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.025863" elapsed="0.000591"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.026924" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.026611" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.027453" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.027119" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.027952" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.027647" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.028479" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.028148" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.028991" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0dcb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.028678" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:36.021868" elapsed="0.007220"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:36.033430" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2a610&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.033056" elapsed="0.000403"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:36.033606" elapsed="0.000306"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.034067" elapsed="0.000258"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:36.034477" elapsed="0.000247"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.034874" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:36.035648" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd29e40&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:36.035378" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:36.035823" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:36.036622" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.036215" elapsed="0.000509"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:36.037310" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.036874" elapsed="0.000468"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:36.515003" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1369', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:36.515195" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:36.515528" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:36.037472" elapsed="0.478120"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.520904" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:36.516049" elapsed="0.004962"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0dcb0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0dcb0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:36.032695" elapsed="0.488465"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:36.029253" elapsed="0.492087"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-05-25T00:36:36.017785" elapsed="0.503641"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.522764" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:36.522115" elapsed="0.000754"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:36.530555" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:36.530730" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:36.530393" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:36.531372" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0eca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:36.530920" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:36.531862" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:36.531570" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:36.532336" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:36.532044" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:36.532803" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:36.532525" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:36.533652" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:36.532987" elapsed="0.000704"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.534210" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.533868" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.534765" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.534430" elapsed="0.000437"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.535586" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.535028" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.536110" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.535792" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.536655" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.536330" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:36.537174" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0eca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:36.536858" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:36.530004" elapsed="0.007288"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:36.541651" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2b2e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.541256" elapsed="0.000430"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:36.541864" elapsed="0.000276"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.542313" elapsed="0.000244"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:36.542707" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.543101" elapsed="0.000353"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:36.543876" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd29fd0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:36.543607" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:36.544052" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:36.544807" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.544463" elapsed="0.000404"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:36.545403" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:36.545014" elapsed="0.000420"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:37.016205" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '867', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:37.016434" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:37.016713" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:36.545610" elapsed="0.471276"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.022166" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:37.017416" elapsed="0.004815"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0eca0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0eca0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:36.540875" elapsed="0.481471"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:36.537445" elapsed="0.484978"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-05-25T00:36:36.521777" elapsed="0.500700"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.023177" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:37.022823" elapsed="0.000438"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:37.028226" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:37.028464" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:37.028025" elapsed="0.000481"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:37.029416" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f4c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:37.028721" elapsed="0.000745"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:37.030080" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:37.029729" elapsed="0.000378"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:37.030582" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:37.030279" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:37.031042" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:37.030764" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:37.032049" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:37.031219" elapsed="0.000861"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.032804" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.032259" elapsed="0.000589"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.033355" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.033005" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.033926" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.033594" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.034454" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.034129" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.034964" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.034654" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.035497" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f4c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.035163" elapsed="0.000377"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:37.027526" elapsed="0.008070"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:37.039963" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2a890&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.039592" elapsed="0.000399"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:37.040139" elapsed="0.000286"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.040597" elapsed="0.000248"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:37.040998" elapsed="0.000262"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.041519" elapsed="0.000371"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:37.042341" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dca90&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:37.042047" elapsed="0.000322"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:37.042519" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:37.043331" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.042919" elapsed="0.000480"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:37.043982" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.043546" elapsed="0.000467"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:37.517219" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1394', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:37.517514" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:37.517807" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:37.044144" elapsed="0.473724"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.522744" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:37.518386" elapsed="0.004424"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0f4c0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0f4c0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:37.039218" elapsed="0.483687"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:37.035752" elapsed="0.487237"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-05-25T00:36:37.022638" elapsed="0.500406"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.523806" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:37.523431" elapsed="0.000441"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:37.528903" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:37.529254" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:37.528704" elapsed="0.000604"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:37.530216" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2b60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:37.529576" elapsed="0.000707"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:37.530909" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:37.530507" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:37.531565" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:37.531159" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:37.532192" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:37.531815" elapsed="0.000414"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:37.533514" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:37.532458" elapsed="0.001111"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.534394" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.533802" elapsed="0.000637"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.534907" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.534595" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.535434" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.535107" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.535926" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.535627" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.536444" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.536122" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:37.536944" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2b60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:37.536640" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:37.528189" elapsed="0.008853"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:37.541490" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dc0ee80&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.541069" elapsed="0.000450"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:37.541667" elapsed="0.000270"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.542094" elapsed="0.000257"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:37.542502" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.542896" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:37.543667" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e357a10&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:37.543399" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:37.543841" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:37.544610" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.544246" elapsed="0.000463"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:37.545341" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:37.544859" elapsed="0.000520"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:38.018818" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '976', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:38.019001" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:38.019336" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:37.545534" elapsed="0.473868"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.024656" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:38.019885" elapsed="0.004885"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4d2b60&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4d2b60&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:37.540705" elapsed="0.484214"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:37.537230" elapsed="0.487887"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-05-25T00:36:37.523212" elapsed="0.501990"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.026221" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:38.025791" elapsed="0.000517"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:38.031209" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:38.031475" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:38.031002" elapsed="0.000514"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:38.032356" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3ec0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:38.031736" elapsed="0.000661"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:38.033038" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:38.032617" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:38.033698" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:38.033312" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:38.034350" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:38.033946" elapsed="0.000441"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:38.035530" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:38.034600" elapsed="0.000973"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.036289" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.035804" elapsed="0.000547"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.037076" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.036568" elapsed="0.000595"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.039183" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.037450" elapsed="0.001778"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.039783" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.039466" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.040314" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.039983" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.040832" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3ec0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.040515" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:38.030499" elapsed="0.010431"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:38.045339" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd28ae0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.044970" elapsed="0.000398"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:38.045517" elapsed="0.000273"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.045945" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:38.046351" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.046751" elapsed="0.000350"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:38.047544" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd286d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:38.047269" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:38.047721" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:38.048498" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.048117" elapsed="0.000443"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:38.049116" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.048709" elapsed="0.000438"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:38.523940" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1051', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:38.524129" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:38.524447" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:38.049293" elapsed="0.475216"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.529645" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:38.525217" elapsed="0.004491"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4d3ec0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4d3ec0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:38.044549" elapsed="0.485252"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:38.041115" elapsed="0.488765"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-05-25T00:36:38.025489" elapsed="0.504443"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.530662" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:38.530305" elapsed="0.000420"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:38.535719" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:38.535937" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:38.535516" elapsed="0.000469"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:38.536882" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:38.536209" elapsed="0.000715"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:38.537429" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:38.537119" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:38.537884" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:38.537610" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:38.538449" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:38.538085" elapsed="0.000392"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:38.539389" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:38.538633" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.539925" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.539589" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.540476" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.540140" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.541017" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.540671" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.541542" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.541221" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.542286" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.541742" elapsed="0.000594"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:38.542812" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:38.542493" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:38.534996" elapsed="0.007914"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:38.547322" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2b790&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.546946" elapsed="0.000405"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:38.547500" elapsed="0.000272"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.547925" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:38.548339" elapsed="0.000252"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.548778" elapsed="0.000398"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:38.549641" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd2a9d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:38.549362" elapsed="0.000307"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:38.549819" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:38.550619" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.550219" elapsed="0.000464"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:38.551246" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;acti...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:38.550832" elapsed="0.000453"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:39.025965" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1074', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:39.026151" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:39.026463" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:38.551420" elapsed="0.475105"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.031618" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:39.026971" elapsed="0.004747"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0c450&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0c450&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:38.546580" elapsed="0.485275"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:38.543064" elapsed="0.488913"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-05-25T00:36:38.530099" elapsed="0.501959"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.033217" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:39.032637" elapsed="0.000717"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:39.038899" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:39.039069" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:39.038753" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:39.039711" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c950&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:39.039270" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:39.040270" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:39.039898" elapsed="0.000400"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:39.040747" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:39.040454" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:39.041207" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:39.040928" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:39.042102" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:39.041405" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.042647" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.042312" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.043161" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.042847" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.043692" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.043373" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.044411" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.043887" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.044948" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.044633" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.045479" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c950&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.045148" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:39.038399" elapsed="0.007178"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:39.049904" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f5850&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.049553" elapsed="0.000380"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:39.050082" elapsed="0.000286"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.050522" elapsed="0.000243"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:39.050917" elapsed="0.000247"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.051330" elapsed="0.000342"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:39.052099" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f5d00&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:39.051828" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:39.052292" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:39.053083" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.052708" elapsed="0.000439"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:39.053715" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.053310" elapsed="0.000468"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:39.527974" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1131', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:39.528155" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:39.528528" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:39.053921" elapsed="0.474671"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.533550" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:39.529052" elapsed="0.004561"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0c950&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0c950&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:39.049175" elapsed="0.484529"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:39.045728" elapsed="0.488056"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-05-25T00:36:39.032324" elapsed="0.501514"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.534564" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:39.534187" elapsed="0.000441"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:39.539532" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:39.539748" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:39.539332" elapsed="0.000458"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:39.540629" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e8e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:39.540004" elapsed="0.000667"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:39.541302" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:39.540887" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:39.541945" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:39.541556" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:39.542634" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:39.542197" elapsed="0.000476"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:39.543785" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:39.542888" elapsed="0.000940"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.544582" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.544053" elapsed="0.000590"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.545222" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.544858" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.545745" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.545431" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.546449" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.545938" elapsed="0.000645"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.547061" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.546741" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:39.547598" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e8e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:39.547280" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:39.538823" elapsed="0.008874"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:39.552002" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd28950&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.551670" elapsed="0.000361"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:39.552181" elapsed="0.000308"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.552645" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:39.553035" elapsed="0.000262"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.553449" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:39.554206" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f4360&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:39.553937" elapsed="0.000311"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:39.554399" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:39.555150" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.554797" elapsed="0.000415"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:39.555762" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;acti...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:39.555375" elapsed="0.000418"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:40.028612" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '922', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:40.028784" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:40.029061" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:39.555923" elapsed="0.473201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.034210" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:40.029606" elapsed="0.004737"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0e8e0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0e8e0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:39.551307" elapsed="0.483175"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:39.547852" elapsed="0.486867"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-05-25T00:36:39.533998" elapsed="0.500805"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.035942" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:40.035373" elapsed="0.000672"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:40.040139" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:40.040340" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:40.039994" elapsed="0.000377"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:40.040973" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:40.040528" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:40.041462" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:40.041159" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:40.041918" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:40.041644" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:40.042385" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:40.042096" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:40.043338" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:40.042565" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.044062" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.043533" elapsed="0.000573"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.044622" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.044302" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.045143" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.044822" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.045662" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.045355" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.046174" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.045862" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.046705" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.046391" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:40.039637" elapsed="0.007166"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:40.051129" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4f57b0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.050771" elapsed="0.000386"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:40.051321" elapsed="0.000268"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.051743" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:40.052133" elapsed="0.000279"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.052563" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:40.053337" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f5760&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:40.053051" elapsed="0.000314"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:40.053513" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:40.054358" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.053947" elapsed="0.000480"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:40.054995" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.054574" elapsed="0.000453"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:40.529981" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1454', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:40.530169" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:40.530495" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:40.055157" elapsed="0.475408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.535670" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:40.531016" elapsed="0.004753"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0e390&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0e390&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:40.050410" elapsed="0.485497"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:40.046955" elapsed="0.489105"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-05-25T00:36:40.035044" elapsed="0.501105"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.537307" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:40.536720" elapsed="0.000688"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:40.542971" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:40.543144" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:40.542826" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:40.543799" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c84a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:40.543343" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:40.544369" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:40.544063" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:40.544836" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:40.544561" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:40.545311" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:40.545016" elapsed="0.000321"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:40.546475" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:40.545489" elapsed="0.001017"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.547005" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.546671" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.547529" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.547202" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.548055" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.547723" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.548572" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.548268" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.549077" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.548769" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:40.549609" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c84a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:40.549293" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:40.542463" elapsed="0.007245"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:40.554034" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2a9d0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.553670" elapsed="0.000392"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:40.554209" elapsed="0.000283"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.554644" elapsed="0.000245"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:40.555040" elapsed="0.000264"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.555455" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:40.556245" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd28270&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:40.555942" elapsed="0.000333"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:40.556425" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:40.557215" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.556816" elapsed="0.000521"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:40.557914" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:40.557486" elapsed="0.000460"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:41.031075" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1582', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:41.031320" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:41.031609" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:40.558076" elapsed="0.473596"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.036764" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:41.032165" elapsed="0.004701"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4c84a0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4c84a0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:40.553305" elapsed="0.483702"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:40.549860" elapsed="0.487273"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-05-25T00:36:40.536422" elapsed="0.500793"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.038399" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:41.037797" elapsed="0.000705"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:41.042891" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:41.043063" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:41.042746" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:41.043717" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:41.043264" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:41.044204" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:41.043921" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:41.044676" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:41.044401" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:41.045127" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:41.044856" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:41.046284" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:41.045321" elapsed="0.000996"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.046813" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.046481" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.047402" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.047069" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.047938" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.047601" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.048461" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.048136" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.048972" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.048660" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.049501" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.049173" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:41.042389" elapsed="0.007211"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:41.053917" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dd2a4d0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.053552" elapsed="0.000394"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:41.054095" elapsed="0.000289"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.054538" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:41.054927" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.055335" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:41.056208" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dd2a2f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:41.055916" elapsed="0.000355"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:41.056424" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:41.057215" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.056819" elapsed="0.000482"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:41.057873" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.057450" elapsed="0.000454"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:41.532546" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1576', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:41.532854" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:41.533143" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:41.058034" elapsed="0.475172"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.537527" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:41.533724" elapsed="0.003867"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2fa610&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2fa610&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:41.053176" elapsed="0.484504"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:41.049753" elapsed="0.488004"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-05-25T00:36:41.037501" elapsed="0.500310"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.538537" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:41.538153" elapsed="0.000448"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:41.543489" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:41.543759" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:41.543290" elapsed="0.000512"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:41.544646" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:41.544016" elapsed="0.000678"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:41.545326" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:41.544909" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:41.545955" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:41.545576" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:41.546610" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:41.546208" elapsed="0.000438"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:41.548157" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:41.546856" elapsed="0.001333"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.548700" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.548368" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.549212" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.548898" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.549738" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.549423" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.550250" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.549933" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.550759" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.550451" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:41.551282" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c9260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:41.550957" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:41.542785" elapsed="0.008595"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:41.555731" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e2f93f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.555345" elapsed="0.000414"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:41.555908" elapsed="0.000273"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.556350" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:41.556789" elapsed="0.000251"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.557194" elapsed="0.000354"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:41.557972" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2f8d10&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:41.557702" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:41.558147" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:41.558948" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.558559" elapsed="0.000456"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:41.559641" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:41.559166" elapsed="0.000509"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:42.046436" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1454', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:42.046612" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:42.046884" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:41.559807" elapsed="0.487139"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.051979" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:42.047435" elapsed="0.004645"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4c9260&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4c9260&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:41.554961" elapsed="0.497261"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:41.551533" elapsed="0.500847"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-05-25T00:36:41.537968" elapsed="0.514493"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.053594" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:42.052993" elapsed="0.000703"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:42.058614" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:42.058771" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:42.058467" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:42.059430" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca4d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:42.058955" elapsed="0.000504"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:42.059902" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:42.059616" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:42.060380" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:42.060084" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:42.061016" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:42.060562" elapsed="0.000481"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:42.061949" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:42.061196" elapsed="0.000785"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.062496" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.062144" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.063009" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.062696" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.063557" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.063206" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.064060" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.063754" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.064633" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.064320" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.065161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca4d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.064850" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:42.058096" elapsed="0.007204"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:42.069727" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dc0d490&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.069369" elapsed="0.000386"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:42.069904" elapsed="0.000273"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.070346" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:42.070735" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.071129" elapsed="0.000371"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:42.071925" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0f0b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:42.071654" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:42.072101" elapsed="0.000269"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:42.072908" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.072519" elapsed="0.000490"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:42.073598" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.073158" elapsed="0.000472"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:42.534167" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1460', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:42.534409" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:42.534686" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:42.073762" elapsed="0.460987"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.540197" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:42.535179" elapsed="0.005103"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4ca4d0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4ca4d0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:42.068988" elapsed="0.471383"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:42.065460" elapsed="0.474988"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-05-25T00:36:42.052698" elapsed="0.487801"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.541195" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:42.540841" elapsed="0.000440"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:42.546168" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:42.546409" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:42.545972" elapsed="0.000480"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:42.547312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d21b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:42.546668" elapsed="0.000686"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:42.547964" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:42.547570" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:42.548620" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:42.548216" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:42.549276" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:42.548871" elapsed="0.000443"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:42.550557" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:42.549527" elapsed="0.001073"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.551362" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.550825" elapsed="0.000600"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.552147" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.551706" elapsed="0.000484"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.552680" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.552359" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.553181" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.552875" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.553709" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.553396" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:42.554219" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d21b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:42.553909" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:42.545483" elapsed="0.008850"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:42.558640" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d1d50&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.558282" elapsed="0.000386"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:42.558816" elapsed="0.000265"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.559267" elapsed="0.000247"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:42.559665" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.560059" elapsed="0.000497"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:42.560985" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0c810&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:42.560712" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:42.561163" elapsed="0.000267"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:42.561966" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.561578" elapsed="0.000456"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:42.562620" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:42.562185" elapsed="0.000467"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:43.035291" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1465', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:43.035602" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:43.035872" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:42.562781" elapsed="0.473152"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.041147" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:43.036570" elapsed="0.004709"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4d21b0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4d21b0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:42.557907" elapsed="0.483512"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:42.554485" elapsed="0.487057"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-05-25T00:36:42.540655" elapsed="0.500968"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.042756" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:43.042154" elapsed="0.000704"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:43.047128" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:43.047306" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:43.046962" elapsed="0.000376"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:43.047946" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb6f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:43.047492" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:43.048436" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:43.048130" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:43.048887" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:43.048615" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:43.049352" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:43.049064" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:43.050337" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:43.049529" elapsed="0.000839"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.050862" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.050530" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.051411" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.051077" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.051927" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.051609" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.052445" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.052123" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.052956" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.052645" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.053484" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb6f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.053157" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:43.046609" elapsed="0.006971"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:43.058137" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e0cbc90&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.057768" elapsed="0.000397"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:43.058335" elapsed="0.000269"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.058757" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:43.059206" elapsed="0.000268"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.059628" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:43.060416" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d0a40&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:43.060122" elapsed="0.000321"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:43.060594" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:43.061408" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.060992" elapsed="0.000487"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:43.062056" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.061628" elapsed="0.000460"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:43.536229" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1623', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:43.536486" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:43.536744" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:43.062219" elapsed="0.474586"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.542009" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:43.537331" elapsed="0.004780"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e0cb6f0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e0cb6f0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:43.057403" elapsed="0.484884"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:43.053733" elapsed="0.488684"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-05-25T00:36:43.041861" elapsed="0.500729"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.543835" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:43.543163" elapsed="0.000785"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:43.551780" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:43.551947" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:43.551630" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:43.552620" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c83b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:43.552136" elapsed="0.000515"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:43.553103" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:43.552811" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:43.553590" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:43.553309" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:43.554054" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:43.553774" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:43.555074" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:43.554252" elapsed="0.000854"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.556899" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.555287" elapsed="0.001657"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.557443" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.557105" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.557960" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.557641" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.558485" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.558157" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.559022" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.558685" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:43.559567" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c83b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:43.559228" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:43.551261" elapsed="0.008404"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:43.563999" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d32e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.563628" elapsed="0.000401"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:43.564177" elapsed="0.000290"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.564622" elapsed="0.000244"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:43.565018" elapsed="0.000267"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.565439" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:43.566215" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d2de0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:43.565935" elapsed="0.000322"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:43.566409" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:43.567251" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.566811" elapsed="0.000549"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:43.567943" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:43.567511" elapsed="0.000464"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:44.037583" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1630', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:44.037790" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:44.038089" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:43.568106" elapsed="0.470048"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.043814" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:44.038717" elapsed="0.005203"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e0c83b0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e0c83b0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:43.563263" elapsed="0.480805"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:43.559818" elapsed="0.484383"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-05-25T00:36:43.542836" elapsed="0.501486"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.045548" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:44.044906" elapsed="0.000753"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:44.050077" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:44.050270" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:44.049931" elapsed="0.000371"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:44.050980" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d15d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:44.050489" elapsed="0.000520"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:44.051466" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:44.051164" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:44.051912" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:44.051644" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:44.052380" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:44.052089" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:44.053561" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:44.052555" elapsed="0.001038"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.054093" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.053758" elapsed="0.000432"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.054738" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.054363" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.055273" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.054938" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.055766" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.055467" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.056280" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.055961" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.056785" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d15d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.056478" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:44.049567" elapsed="0.007314"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:44.061249" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d1d50&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.060863" elapsed="0.000416"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:44.061429" elapsed="0.000266"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.061847" elapsed="0.000236"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:44.062245" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.062641" elapsed="0.000358"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:44.063439" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d3b50&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:44.063152" elapsed="0.000314"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:44.063614" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:44.064431" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.064008" elapsed="0.000494"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:44.065074" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.064649" elapsed="0.000456"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:44.538093" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1626', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:44.538455" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:44.538782" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:44.065249" elapsed="0.473595"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.543723" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:44.539331" elapsed="0.004459"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4d15d0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4d15d0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:44.060477" elapsed="0.483406"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:44.057031" elapsed="0.486935"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-05-25T00:36:44.044585" elapsed="0.499437"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.544787" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:44.544410" elapsed="0.000446"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:44.550087" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:44.550374" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:44.549879" elapsed="0.000541"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:44.551330" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4720&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:44.550667" elapsed="0.000708"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:44.552021" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:44.551605" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:44.552717" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:44.552308" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:44.553404" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:44.552980" elapsed="0.000465"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:44.555022" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:44.553672" elapsed="0.001398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.555627" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.555292" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.556142" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.555828" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.556674" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.556355" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.557175" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.556870" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.557705" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.557395" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:44.558222" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4720&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:44.557906" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:44.549361" elapsed="0.008976"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:44.562704" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d0900&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.562299" elapsed="0.000434"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:44.562884" elapsed="0.000270"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.563331" elapsed="0.000243"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:44.563782" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.564184" elapsed="0.000359"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:44.564968" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d0d10&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:44.564698" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:44.565146" elapsed="0.000265"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:44.565942" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.565563" elapsed="0.000444"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:44.566601" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:44.566155" elapsed="0.000477"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:45.039930" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1336', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:45.040115" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:45.040428" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:44.566764" elapsed="0.473726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.045578" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:45.040938" elapsed="0.004739"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e1d4720&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e1d4720&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:44.561918" elapsed="0.483895"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:44.558504" elapsed="0.487433"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-05-25T00:36:44.544190" elapsed="0.501828"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.047179" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:45.046619" elapsed="0.000692"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:45.052984" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:45.053216" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:45.052838" elapsed="0.000423"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:45.053880" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2faa70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:45.053421" elapsed="0.000489"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:45.054384" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:45.054067" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:45.054840" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:45.054566" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:45.055312" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:45.055021" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:45.056473" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:45.055492" elapsed="0.001013"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.057004" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.056670" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.057536" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.057205" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.058049" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.057734" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.058578" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.058260" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.059089" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.058778" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.059621" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2faa70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.059306" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:45.052481" elapsed="0.007239"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:45.064086" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d1bc0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.063721" elapsed="0.000395"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:45.064281" elapsed="0.000271"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.064706" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:45.065097" elapsed="0.000263"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.065512" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:45.066310" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d3740&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:45.066004" elapsed="0.000335"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:45.066489" elapsed="0.000249"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:45.067303" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.066887" elapsed="0.000527"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:45.067998" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.067566" elapsed="0.000463"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:45.540856" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1571', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:45.541051" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:45.541377" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:45.068161" elapsed="0.473281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.547353" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:45.542020" elapsed="0.005400"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e2faa70&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e2faa70&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:45.063355" elapsed="0.484159"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:45.059874" elapsed="0.487722"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-05-25T00:36:45.046305" elapsed="0.501345"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.548389" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:45.548001" elapsed="0.000453"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:45.553395" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:45.553617" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:45.553173" elapsed="0.000485"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:45.554540" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357e20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:45.553874" elapsed="0.000708"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:45.555320" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:45.554804" elapsed="0.000557"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:45.555979" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:45.555582" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:45.556645" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:45.556231" elapsed="0.000451"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:45.558232" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:45.556898" elapsed="0.001403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.559005" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.558533" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.559675" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.559351" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.560204" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.559878" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.560745" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.560423" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.561301" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.560949" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:45.561979" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e357e20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:45.561568" elapsed="0.000459"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:45.552681" elapsed="0.009441"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:45.566606" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d02c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.566227" elapsed="0.000407"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:45.566784" elapsed="0.000291"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.567265" elapsed="0.000251"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:45.567668" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.568064" elapsed="0.000456"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:45.568958" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2f8d10&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:45.568682" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:45.569136" elapsed="0.000266"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:45.569941" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.569552" elapsed="0.000456"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:45.570646" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:45.570207" elapsed="0.000470"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:46.042317" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1356', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:46.042627" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:46.042919" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:45.570810" elapsed="0.472172"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.048083" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:46.043471" elapsed="0.004713"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e357e20&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e357e20&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:45.565825" elapsed="0.482535"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:45.562319" elapsed="0.486167"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-05-25T00:36:45.547812" elapsed="0.500758"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.049708" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:46.049107" elapsed="0.000703"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:46.053575" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:46.053741" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:46.053427" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:46.054414" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:46.053946" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:46.054885" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:46.054600" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:46.055356" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:46.055065" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:46.056009" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:46.055536" elapsed="0.000500"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:46.056931" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:46.056188" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.057484" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.057125" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.058021" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.057681" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.058599" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.058215" elapsed="0.000428"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.059108" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.058798" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.059632" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.059322" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.060139" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.059832" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:46.053056" elapsed="0.007194"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:46.064534" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d2430&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.064161" elapsed="0.000401"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:46.064709" elapsed="0.000265"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.065126" elapsed="0.000255"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:46.065572" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.065992" elapsed="0.000357"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:46.066774" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d0180&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:46.066503" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:46.066949" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:46.067739" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.067356" elapsed="0.000449"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:46.068376" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.067951" elapsed="0.000456"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:46.543382" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1366', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:46.543541" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:46.543787" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:46.068537" elapsed="0.475310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.549134" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:46.544279" elapsed="0.004982"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0f150&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0f150&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:46.063804" elapsed="0.485596"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:46.060406" elapsed="0.489112"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-05-25T00:36:46.048810" elapsed="0.500786"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.550487" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:46.550177" elapsed="0.000354"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:46.554029" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:46.554222" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:46.553886" elapsed="0.000381"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:46.554848" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fe20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:46.554424" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:46.555334" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:46.555032" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:46.555787" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:46.555514" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:46.556255" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:46.555967" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:46.557132" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:46.556434" elapsed="0.000730"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.557672" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.557342" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.558212" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.557899" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.558750" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.558432" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.559272" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.558946" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.559783" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.559473" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:46.560312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fe20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:46.559983" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:46.553518" elapsed="0.006892"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:46.564752" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dc0e480&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.564397" elapsed="0.000384"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:46.564930" elapsed="0.000266"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.565371" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:46.565782" elapsed="0.000269"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.566203" elapsed="0.000352"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:46.567128" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e0cb470&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:46.566707" elapsed="0.000449"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:46.567321" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:46.568095" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.567717" elapsed="0.000487"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:46.568786" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:46.568373" elapsed="0.000444"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:47.045832" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1357', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:47.046002" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:47.046272" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:46.568946" elapsed="0.477388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.051304" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:47.046754" elapsed="0.004654"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13dc0fe20&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13dc0fe20&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:46.564020" elapsed="0.487524"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:46.560563" elapsed="0.491103"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-05-25T00:36:46.549882" elapsed="0.501865"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.052877" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:47.052305" elapsed="0.000675"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:47.057192" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:47.057370" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:47.057048" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:47.058000" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0ca340&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:47.057569" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:47.058482" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:47.058183" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:47.058933" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:47.058662" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:47.059402" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:47.059112" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:47.060304" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:47.059581" elapsed="0.000754"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.060826" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.060497" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.061348" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.061023" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.061974" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.061649" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.062510" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.062171" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.063021" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.062710" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.063549" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0ca340&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.063221" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:47.056697" elapsed="0.006951"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:47.068111" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4c9490&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.067758" elapsed="0.000381"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:47.068302" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.068721" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:47.069109" elapsed="0.000261"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.069535" elapsed="0.000339"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:47.070314" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4cb560&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:47.070028" elapsed="0.000313"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:47.070490" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:47.071274" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.070881" elapsed="0.000460"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:47.071894" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.071487" elapsed="0.000437"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:47.546810" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1367', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:47.547084" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:47.547379" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:47.072053" elapsed="0.475390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.552635" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:47.547879" elapsed="0.004856"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e0ca340&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e0ca340&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:47.067396" elapsed="0.485472"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:47.063800" elapsed="0.489190"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-05-25T00:36:47.051982" elapsed="0.501090"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.554297" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:47.553704" elapsed="0.000643"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:47.557875" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:47.558070" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:47.557726" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:47.558862" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:47.558300" elapsed="0.000600"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:47.559487" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:47.559103" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:47.560085" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:47.559727" elapsed="0.000394"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:47.560699" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:47.560345" elapsed="0.000388"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:47.562043" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:47.560935" elapsed="0.001149"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.562760" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.562321" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.563713" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.563027" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.564388" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.563976" elapsed="0.000467"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.565029" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.564641" elapsed="0.000450"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.565780" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.565358" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:47.566419" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:47.566049" elapsed="0.000420"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:47.557364" elapsed="0.009164"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:47.572050" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4cb9c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.571540" elapsed="0.000549"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:47.572306" elapsed="0.000349"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.572866" elapsed="0.000277"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:47.573402" elapsed="0.000266"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.573825" elapsed="0.000351"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:47.574630" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2f86d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:47.574354" elapsed="0.000304"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:47.574807" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:47.575637" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.575204" elapsed="0.000502"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:47.576295" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:47.575854" elapsed="0.000473"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:48.047858" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1563', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:48.048037" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:48.048341" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:47.576461" elapsed="0.471942"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.053487" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:48.048850" elapsed="0.004737"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e0c8f40&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e0c8f40&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:47.571007" elapsed="0.482716"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:47.566696" elapsed="0.487150"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-05-25T00:36:47.553404" elapsed="0.500522"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.055151" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:48.054488" elapsed="0.000794"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:48.060447" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:48.060616" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:48.060299" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:48.061295" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9990&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:48.060800" elapsed="0.000525"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:48.061766" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:48.061480" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:48.062215" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:48.061944" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:48.062686" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:48.062412" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:48.063860" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:48.062865" elapsed="0.001028"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.064404" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.064056" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.064918" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.064605" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.065468" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.065114" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.065967" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.065664" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.066490" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.066165" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.066995" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9990&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.066688" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:48.059924" elapsed="0.007169"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:48.071446" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4cb880&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.071068" elapsed="0.000407"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:48.071622" elapsed="0.000266"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.072040" elapsed="0.000252"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:48.072443" elapsed="0.000243"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.072836" elapsed="0.000355"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:48.073630" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4ca7a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:48.073363" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:48.073805" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:48.074606" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.074193" elapsed="0.000526"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:48.075329" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.074869" elapsed="0.000491"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:48.548824" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1571', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:48.549075" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:48.549428" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:48.075494" elapsed="0.474002"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.554682" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:48.549988" elapsed="0.004797"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e0c9990&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e0c9990&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:48.070705" elapsed="0.484238"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:48.067259" elapsed="0.487811"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-05-25T00:36:48.054168" elapsed="0.500997"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.556342" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:48.555744" elapsed="0.000702"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:48.560468" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:48.560636" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:48.560320" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:48.561322" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:48.560822" elapsed="0.000533"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:48.561804" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:48.561516" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:48.562281" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:48.561988" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:48.562772" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:48.562467" elapsed="0.000334"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:48.563902" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:48.562959" elapsed="0.000976"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.564456" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.564102" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.565064" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.564717" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.565609" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.565284" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.566124" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.565811" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.566664" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.566345" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:48.567187" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:48.566871" elapsed="0.000375"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:48.559928" elapsed="0.007379"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:48.571675" level="INFO">${req} = &lt;Element 'flow' at 0x70d13db11850&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.571304" elapsed="0.000400"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:48.571859" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.572295" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:48.572686" elapsed="0.000263"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.573102" elapsed="0.000352"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:48.573879" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db10f40&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:48.573609" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:48.574056" elapsed="0.000265"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:48.574862" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.574474" elapsed="0.000455"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:48.575513" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/tab...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:48.575076" elapsed="0.000469"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:49.049684" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1451', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:49.049994" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:49.050399" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:48.575676" elapsed="0.474791"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.055518" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:49.050918" elapsed="0.004701"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13db11760&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13db11760&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:48.570924" elapsed="0.484832"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:48.567464" elapsed="0.488413"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-05-25T00:36:48.555444" elapsed="0.500516"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.057196" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:49.056525" elapsed="0.000805"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:49.060856" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:49.061043" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:49.060692" elapsed="0.000382"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:49.061679" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca250&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:49.061228" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:49.062149" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:49.061863" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:49.062622" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:49.062346" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:49.063075" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:49.062802" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:49.065401" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:49.063281" elapsed="0.002152"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.065936" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.065598" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.066469" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.066136" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.066983" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.066665" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.067499" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.067177" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.068007" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.067698" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.068539" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca250&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.068206" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:49.060330" elapsed="0.008307"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:49.072998" level="INFO">${req} = &lt;Element 'flow' at 0x70d13db113f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.072629" elapsed="0.000397"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:49.073175" elapsed="0.000286"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.073615" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:49.074048" elapsed="0.000266"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.074467" elapsed="0.000339"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:49.075231" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db118a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:49.074961" elapsed="0.000313"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:49.075424" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:49.076190" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.075819" elapsed="0.000451"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:49.076844" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.076426" elapsed="0.000454"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:49.551005" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1157', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:49.551189" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:49.551520" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:49.077010" elapsed="0.474572"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.556747" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:49.552038" elapsed="0.004815"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e4ca250&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e4ca250&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:49.072249" elapsed="0.484748"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:49.068820" elapsed="0.488306"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-05-25T00:36:49.056198" elapsed="0.501012"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.558456" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:49.557799" elapsed="0.000772"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:49.563732" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:49.563904" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:49.563582" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:49.564624" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db134c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:49.564149" elapsed="0.000506"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:49.565106" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:49.564814" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:49.565590" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:49.565307" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:49.566058" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:49.565775" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:49.566852" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:49.566260" elapsed="0.000624"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.567409" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.567054" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.568141" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.567614" elapsed="0.000573"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.568747" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.568365" elapsed="0.000429"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.569289" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.568957" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.569816" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.569498" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:49.570356" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db134c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:49.570022" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:49.563181" elapsed="0.007278"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:49.574840" level="INFO">${req} = &lt;Element 'flow' at 0x70d13db118a0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.574505" elapsed="0.000365"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:49.575023" elapsed="0.000286"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.575465" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:49.575856" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.576267" elapsed="0.000369"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:49.577064" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db11760&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:49.576793" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:49.577258" elapsed="0.000254"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:49.578009" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.577661" elapsed="0.000409"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:49.578674" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:49.578218" elapsed="0.000489"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:50.052726" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '841', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:50.052895" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:50.053193" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:49.578839" elapsed="0.474457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.058492" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:50.053748" elapsed="0.004850"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13db134c0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13db134c0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:49.574114" elapsed="0.484629"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:49.570616" elapsed="0.488254"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-05-25T00:36:49.557489" elapsed="0.501467"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.060155" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:50.059560" elapsed="0.000756"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:50.064984" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:50.065168" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:50.064774" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:50.065838" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db12ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:50.065380" elapsed="0.000496"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:50.066358" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:50.066049" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:50.066829" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:50.066546" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:50.067354" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:50.067027" elapsed="0.000360"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:50.068273" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:50.067569" elapsed="0.000736"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.068837" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.068500" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.069377" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.069043" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.069921" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.069582" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.070688" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.070126" elapsed="0.000665"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.071310" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.070957" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.071848" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db12ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.071522" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:50.064094" elapsed="0.007874"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:50.076448" level="INFO">${req} = &lt;Element 'flow' at 0x70d13db10b80&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.076044" elapsed="0.000434"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:50.076640" elapsed="0.000276"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.077075" elapsed="0.000262"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:50.077494" elapsed="0.000253"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.077913" elapsed="0.000366"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:50.078714" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db10400&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:50.078438" elapsed="0.000306"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:50.078897" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:50.079700" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.079315" elapsed="0.000451"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:50.080344" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/o...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.079913" elapsed="0.000490"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:50.553836" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1142', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:50.554043" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:50.554384" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:50.080542" elapsed="0.473907"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.559824" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:50.555019" elapsed="0.004910"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13db12ca0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13db12ca0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:50.075672" elapsed="0.484402"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:50.072128" elapsed="0.488140"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-05-25T00:36:50.059196" elapsed="0.501166"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.561523" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:50.560913" elapsed="0.000716"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:50.569685" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:50.569854" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:50.569536" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:50.570500" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb2e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:50.570045" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:50.570974" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:50.570689" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:50.571453" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:50.571155" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:50.571906" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:50.571634" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:50.572739" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:50.572085" elapsed="0.000686"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.573282" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.572933" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.573793" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.573482" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.574317" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.573987" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.574816" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.574512" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.575527" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.575013" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:50.576044" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb2e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:50.575730" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:50.568830" elapsed="0.007312"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Add Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:36:50.580483" level="INFO">${req} = &lt;Element 'flow' at 0x70d13db13920&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.580111" elapsed="0.000400"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:50.580660" elapsed="0.000266"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.581077" elapsed="0.000254"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:50.581480" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.581873" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:50.582690" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db10e00&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:50.582415" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:50.582867" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:50.583634" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.583276" elapsed="0.000421"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:50.584263" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;met...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:50.583844" elapsed="0.000452"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:51.054897" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 path_url=/rests/operations/sal-flow:add-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '978', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:51.055084" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:51.055416" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:add-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:50.584427" elapsed="0.471054"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:51.060686" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:51.055946" elapsed="0.004846"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x70d13e0cb2e0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x70d13e0cb2e0&gt; is an xml object of parser xml flow details, usually created by Create Flow Variables For Suite From XML File
keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:50.579749" elapsed="0.481188"/>
</kw>
<arg>Add Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:50.576344" elapsed="0.484717"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-05-25T00:36:50.560609" elapsed="0.500534"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-05-25T00:36:25.898187" elapsed="25.163032"/>
</for>
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:36:51.062312" level="INFO">Length is 50.</msg>
<msg time="2026-05-25T00:36:51.062496" level="INFO">${flows} = 50</msg>
<var>${flows}</var>
<arg>${flowlist0}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:36:51.061627" elapsed="0.000926"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Flow Stats Are Available" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:51.078112" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:51.083958" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":45,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-27","table_id":2,"priority":21,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":40000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":508000000}},"flags":""},{"id":"#UF$TABLE*2-26","table_id":2,"priority":20,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"cookie":"20","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":540000000}},"flags":""},{"id":"#UF$TABLE*2-29","table_id":2,"priority":23,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"23","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":39000000}},"flags":""},{"id":"#UF$TABLE*2-28","table_id":2,"priority":22,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"22","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":532000000}},"flags":""},{"id":"#UF$TABLE*2-45","table_id":2,"priority":109,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"109","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":14000000}},"flags":""},{"id":"#UF$TABLE*2-23","table_id":2,"priority":17,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"protocol-match-fields":{"mpls-tc":3,"mpls-bos":1,"mpls-label":567}},"cookie":"17","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":38000000}},"flags":""},{"id":"#UF$TABLE*2-44","table_id":2,"priority":108,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"108","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":512000000}},"flags":""},{"id":"#UF$TABLE*2-9","table_id":2,"priority":1,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"cookie":"1","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":22,"nanosecond":97000000}},"flags":""},{"id":"#UF$TABLE*2-22","table_id":2,"priority":16,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true},"vlan-pcp":3}},"cookie":"16","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":546000000}},"flags":""},{"id":"#UF$TABLE*2-47","table_id":2,"priority":113,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"113","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-mpls-action":{"ethernet-type":34888}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-25","table_id":2,"priority":19,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"cookie":"19","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":46000000}},"flags":""},{"id":"#UF$TABLE*2-46","table_id":2,"priority":110,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":511000000}},"flags":""},{"id":"#UF$TABLE*2-24","table_id":2,"priority":18,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-source":"fe80::2acf:e9ff:fe21:6431/128","ipv6-destination":"aabb:1234:2acf:e9ff::/64"},"cookie":"18","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":544000000}},"flags":""},{"id":"#UF$TABLE*2-41","table_id":2,"priority":105,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a000::/84","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"105","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-act... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:51.084427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=${node_id}/flow-node-inventory:table=2</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:51.067627" elapsed="0.016843"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:51.088499" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":45,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-27","table_id":2,"priority":21,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":40000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":508000000}},"flags":""},{"id":"#UF$TABLE*2-26","table_id":2,"priority":20,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"cookie":"20","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":540000000}},"flags":""},{"id":"#UF$TABLE*2-29","table_id":2,"priority":23,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"23","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":39000000}},"flags":""},{"id":"#UF$TABLE*2-28","table_id":2,"priority":22,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"22","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":532000000}},"flags":""},{"id":"#UF$TABLE*2-45","table_id":2,"priority":109,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"109","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":14000000}},"flags":""},{"id":"#UF$TABLE*2-23","table_id":2,"priority":17,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"protocol-match-fields":{"mpls-tc":3,"mpls-bos":1,"mpls-label":567}},"cookie":"17","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":38000000}},"flags":""},{"id":"#UF$TABLE*2-44","table_id":2,"priority":108,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"108","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":512000000}},"flags":""},{"id":"#UF$TABLE*2-9","table_id":2,"priority":1,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"cookie":"1","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":22,"nanosecond":97000000}},"flags":""},{"id":"#UF$TABLE*2-22","table_id":2,"priority":16,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true},"vlan-pcp":3}},"cookie":"16","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":546000000}},"flags":""},{"id":"#UF$TABLE*2-47","table_id":2,"priority":113,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"113","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-mpls-action":{"ethernet-type":34888}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-25","table_id":2,"priority":19,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"cookie":"19","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":46000000}},"flags":""},{"id":"#UF$TABLE*2-46","table_id":2,"priority":110,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":511000000}},"flags":""},{"id":"#UF$TABLE*2-24","table_id":2,"priority":18,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-source":"fe80::2acf:e9ff:fe21:6431/128","ipv6-destination":"aabb:1234:2acf:e9ff::/64"},"cookie":"18","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":544000000}},"flags":""},{"id":"#UF$TABLE*2-41","table_id":2,"priority":105,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a000::/84","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"105","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":5000000}},"flags":""},{"id":"#UF$TABLE*2-40","table_id":2,"priority":104,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"104","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":518000000}},"flags":""},{"id":"#UF$TABLE*2-43","table_id":2,"priority":107,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"107","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"ALL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":16000000}},"flags":""},{"id":"#UF$TABLE*2-21","table_id":2,"priority":15,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true}}},"cookie":"15","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":47000000}},"flags":""},{"id":"#UF$TABLE*2-42","table_id":2,"priority":106,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a987:6000:0/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"106","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"FLOOD"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":516000000}},"flags":""},{"id":"#UF$TABLE*2-20","table_id":2,"priority":14,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:fc:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2054}},"arp-target-hardware-address":{"address":"fe:dc:ba:98:76:54"},"arp-source-transport-address":"192.168.4.1/32","arp-op":1,"arp-target-transport-address":"10.21.22.23/32","arp-source-hardware-address":{"address":"12:34:56:78:98:ab"}},"cookie":"14","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":546000000}},"flags":""},{"id":"#UF$TABLE*2-50","table_id":2,"priority":203,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"203","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":509000000}},"flags":""},{"id":"#UF$TABLE*2-19","table_id":2,"priority":11,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"cookie":"11","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":17,"nanosecond":51000000}},"flags":""},{"id":"#UF$TABLE*2-38","table_id":2,"priority":102,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"102","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":520000000}},"flags":""},{"id":"#UF$TABLE*2-16","table_id":2,"priority":8,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:00","mask":"ff:ff:ff:ff:ff:00"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"8","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":18,"nanosecond":552000000}},"flags":""},{"id":"#UF$TABLE*2-37","table_id":2,"priority":101,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"101","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":23000000}},"flags":""},{"id":"#UF$TABLE*2-15","table_id":2,"priority":7,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:aa"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"0","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":15}},"cookie":"7","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":19,"nanosecond":52000000}},"flags":""},{"id":"#UF$TABLE*2-18","table_id":2,"priority":10,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":17,"nanosecond":549000000}},"flags":""},{"id":"#UF$TABLE*2-39","table_id":2,"priority":103,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"103","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":20000000}},"flags":""},{"id":"#UF$TABLE*2-17","table_id":2,"priority":9,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.1.0.0/16","ipv4-destination":"172.168.5.0/24","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"9","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":18,"nanosecond":51000000}},"flags":""},{"id":"#UF$TABLE*2-34","table_id":2,"priority":38,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"38","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-queue-action":{"queue-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":527000000}},"flags":""},{"id":"#UF$TABLE*2-12","table_id":2,"priority":4,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":34887}}},"cookie":"4","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":20,"nanosecond":558000000}},"flags":""},{"id":"#UF$TABLE*2-33","table_id":2,"priority":36,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"36","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"ip-match":{"ip-dscp":1}}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":26000000}},"flags":""},{"id":"#UF$TABLE*2-11","table_id":2,"priority":3,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"cookie":"3","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":21,"nanosecond":60000000}},"flags":""},{"id":"#UF$TABLE*2-36","table_id":2,"priority":45,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"cookie":"45","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":523000000}},"flags":""},{"id":"#UF$TABLE*2-14","table_id":2,"priority":6,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"40.4.0.0/16"},"cookie":"6","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":19,"nanosecond":556000000}},"flags":""},{"id":"#UF$TABLE*2-35","table_id":2,"priority":43,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"cookie":"43","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":24000000}},"flags":""},{"id":"#UF$TABLE*2-13","table_id":2,"priority":5,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"0"},"cookie":"5","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":20,"nanosecond":54000000}},"flags":""},{"id":"#UF$TABLE*2-52","table_id":2,"priority":205,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"205","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-source-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":501000000}},"flags":""},{"id":"#UF$TABLE*2-30","table_id":2,"priority":24,"cookie_mask":"0","idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"cookie":"24","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":534000000}},"flags":""},{"id":"#UF$TABLE*2-51","table_id":2,"priority":204,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"204","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":6000000}},"flags":""},{"id":"#UF$TABLE*2-32","table_id":2,"priority":31,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"31","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":533000000}},"flags":""},{"id":"#UF$TABLE*2-10","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"cookie":"2","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":21,"nanosecond":555000000}},"flags":""},{"id":"#UF$TABLE*2-53","table_id":2,"priority":206,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"#UF$TABLE*2-31","table_id":2,"priority":25,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":58,"ip-ecn":3,"ip-dscp":60},"icmpv6-match":{"icmpv6-code":3,"icmpv6-type":6}},"cookie":"25","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":35000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:51.084709" elapsed="0.004157"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-05-25T00:36:51.091751" level="INFO">Item found from container 45 times.</msg>
<msg time="2026-05-25T00:36:51.092085" level="FAIL">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":45,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-27","table_id":2,"priority":21,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":40000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":508000000}},"flags":""},{"id":"#UF$TABLE*2-26","table_id":2,"priority":20,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"cookie":"20","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":540000000}},"flags":""},{"id":"#UF$TABLE*2-29","table_id":2,"priority":23,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"23","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":39000000}},"flags":""},{"id":"#UF$TABLE*2-28","table_id":2,"priority":22,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"22","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":532000000}},"flags":""},{"id":"#UF$TABLE*2-45","table_id":2,"priority":109,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"109","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":14000000}},"flags":""},{"id":"#UF$TABLE*2-23","table_id":2,"priority":17,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"protocol-match-fields":{"mpls-tc":3,"mpls-bos":1,"mpls-label":567}},"cookie":"17","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":38000000}},"flags":""},{"id":"#UF$TABLE*2-44","table_id":2,"priority":108,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"108","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":512000000}},"flags":""},{"id":"#UF$TABLE*2-9","table_id":2,"priority":1,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"cookie":"1","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":22,"nanosecond":97000000}},"flags":""},{"id":"#UF$TABLE*2-22","table_id":2,"priority":16,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true},"vlan-pcp":3}},"cookie":"16","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":546000000}},"flags":""},{"id":"#UF$TABLE*2-47","table_id":2,"priority":113,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"113","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-mpls-action":{"ethernet-type":34888}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-25","table_id":2,"priority":19,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"cookie":"19","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":46000000}},"flags":""},{"id":"#UF$TABLE*2-46","table_id":2,"priority":110,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":511000000}},"flags":""},{"id":"#UF$TABLE*2-24","table_id":2,"priority":18,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-source":"fe80::2acf:e9ff:fe21:6431/128","ipv6-destination":"aabb:1234:2acf:e9ff::/64"},"cookie":"18","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":544000000}},"flags":""},{"id":"#UF$TABLE*2-41","table_id":2,"priority":105,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a000::/84","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"105","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":5000000}},"flags":""},{"id":"#UF$TABLE*2-40","table_id":2,"priority":104,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"104","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":518000000}},"flags":""},{"id":"#UF$TABLE*2-43","table_id":2,"priority":107,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"107","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"ALL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":16000000}},"flags":""},{"id":"#UF$TABLE*2-21","table_id":2,"priority":15,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true}}},"cookie":"15","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":47000000}},"flags":""},{"id":"#UF$TABLE*2-42","table_id":2,"priority":106,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a987:6000:0/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"106","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"FLOOD"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":516000000}},"flags":""},{"id":"#UF$TABLE*2-20","table_id":2,"priority":14,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:fc:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2054}},"arp-target-hardware-address":{"address":"fe:dc:ba:98:76:54"},"arp-source-transport-address":"192.168.4.1/32","arp-op":1,"arp-target-transport-address":"10.21.22.23/32","arp-source-hardware-address":{"address":"12:34:56:78:98:ab"}},"cookie":"14","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":546000000}},"flags":""},{"id":"#UF$TABLE*2-50","table_id":2,"priority":203,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"203","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":509000000}},"flags":""},{"id":"#UF$TABLE*2-19","table_id":2,"priority":11,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"cookie":"11","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":17,"nanosecond":51000000}},"flags":""},{"id":"#UF$TABLE*2-38","table_id":2,"priority":102,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"102","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":520000000}},"flags":""},{"id":"#UF$TABLE*2-16","table_id":2,"priority":8,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:00","mask":"ff:ff:ff:ff:ff:00"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"8","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":18,"nanosecond":552000000}},"flags":""},{"id":"#UF$TABLE*2-37","table_id":2,"priority":101,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"101","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":23000000}},"flags":""},{"id":"#UF$TABLE*2-15","table_id":2,"priority":7,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:aa"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"0","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":15}},"cookie":"7","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":19,"nanosecond":52000000}},"flags":""},{"id":"#UF$TABLE*2-18","table_id":2,"priority":10,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":17,"nanosecond":549000000}},"flags":""},{"id":"#UF$TABLE*2-39","table_id":2,"priority":103,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"103","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":20000000}},"flags":""},{"id":"#UF$TABLE*2-17","table_id":2,"priority":9,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.1.0.0/16","ipv4-destination":"172.168.5.0/24","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"9","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":18,"nanosecond":51000000}},"flags":""},{"id":"#UF$TABLE*2-34","table_id":2,"priority":38,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"38","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-queue-action":{"queue-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":527000000}},"flags":""},{"id":"#UF$TABLE*2-12","table_id":2,"priority":4,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":34887}}},"cookie":"4","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":20,"nanosecond":558000000}},"flags":""},{"id":"#UF$TABLE*2-33","table_id":2,"priority":36,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"36","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"ip-match":{"ip-dscp":1}}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":26000000}},"flags":""},{"id":"#UF$TABLE*2-11","table_id":2,"priority":3,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"cookie":"3","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":21,"nanosecond":60000000}},"flags":""},{"id":"#UF$TABLE*2-36","table_id":2,"priority":45,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"cookie":"45","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":523000000}},"flags":""},{"id":"#UF$TABLE*2-14","table_id":2,"priority":6,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"40.4.0.0/16"},"cookie":"6","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":19,"nanosecond":556000000}},"flags":""},{"id":"#UF$TABLE*2-35","table_id":2,"priority":43,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"cookie":"43","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":24000000}},"flags":""},{"id":"#UF$TABLE*2-13","table_id":2,"priority":5,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"0"},"cookie":"5","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":20,"nanosecond":54000000}},"flags":""},{"id":"#UF$TABLE*2-52","table_id":2,"priority":205,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"205","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-source-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":501000000}},"flags":""},{"id":"#UF$TABLE*2-30","table_id":2,"priority":24,"cookie_mask":"0","idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"cookie":"24","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":534000000}},"flags":""},{"id":"#UF$TABLE*2-51","table_id":2,"priority":204,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"204","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":6000000}},"flags":""},{"id":"#UF$TABLE*2-32","table_id":2,"priority":31,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"31","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":533000000}},"flags":""},{"id":"#UF$TABLE*2-10","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"cookie":"2","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":21,"nanosecond":555000000}},"flags":""},{"id":"#UF$TABLE*2-53","table_id":2,"priority":206,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"#UF$TABLE*2-31","table_id":2,"priority":25,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":58,"ip-ecn":3,"ip-dscp":60},"icmpv6-match":{"icmpv6-code":3,"icmpv6-type":6}},"cookie":"25","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":35000000}},"flags":""}]}]}' contains 'priority' 45 times, not 50 times.</msg>
<arg>${resp.text}</arg>
<arg>priority</arg>
<arg>${flows}</arg>
<doc>Fails if ``container`` does not contain ``item`` ``count`` times.</doc>
<status status="FAIL" start="2026-05-25T00:36:51.089042" elapsed="0.003491">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":45,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-27","table_id":2,"priority":21,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":40000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_ma...
    [ Message content over the limit has been removed. ]
...ount":"0","byte-count":"0","duration":{"second":21,"nanosecond":555000000}},"flags":""},{"id":"#UF$TABLE*2-53","table_id":2,"priority":206,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"#UF$TABLE*2-31","table_id":2,"priority":25,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":58,"ip-ecn":3,"ip-dscp":60},"icmpv6-match":{"icmpv6-code":3,"icmpv6-type":6}},"cookie":"25","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":35000000}},"flags":""}]}]}' contains 'priority' 45 times, not 50 times.</status>
</kw>
<arg>openflow%3A1</arg>
<arg>${flows}</arg>
<doc>A GET on the /node=${node_id} inventory API is made and flow stats string is checked for existence.</doc>
<status status="FAIL" start="2026-05-25T00:36:51.067284" elapsed="0.025433">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":45,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*2-27","table_id":2,"priority":21,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":40000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_ma...
    [ Message content over the limit has been removed. ]
...ount":"0","byte-count":"0","duration":{"second":21,"nanosecond":555000000}},"flags":""},{"id":"#UF$TABLE*2-53","table_id":2,"priority":206,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"#UF$TABLE*2-31","table_id":2,"priority":25,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":58,"ip-ecn":3,"ip-dscp":60},"icmpv6-match":{"icmpv6-code":3,"icmpv6-type":6}},"cookie":"25","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":35000000}},"flags":""}]}]}' contains 'priority' 45 times, not 50 times.</status>
</kw>
<kw name="Check Flow Stats Are Available" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.112847" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.122198" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":50,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":36000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":533000000}},"flags":""},{"id":"#UF$TABLE*2-45","table_id":2,"priority":109,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"109","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":39000000}},"flags":""},{"id":"#UF$TABLE*2-44","table_id":2,"priority":108,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"108","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":537000000}},"flags":""},{"id":"#UF$TABLE*2-47","table_id":2,"priority":113,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"113","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-mpls-action":{"ethernet-type":34888}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":36000000}},"flags":""},{"id":"#UF$TABLE*2-46","table_id":2,"priority":110,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":536000000}},"flags":""},{"id":"#UF$TABLE*2-41","table_id":2,"priority":105,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a000::/84","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"105","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":30000000}},"flags":""},{"id":"#UF$TABLE*2-40","table_id":2,"priority":104,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"104","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":543000000}},"flags":""},{"id":"#UF$TABLE*2-43","table_id":2,"priority":107,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"107","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"ALL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":41000000}},"flags":""},{"id":"#UF$TABLE*2-42","table_id":2,"priority":106,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a987:6000:0/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"106","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"FLOOD"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":541000000}},"flags":""},{"id":"#UF$TABLE*2-38","table_id":2,"priority":102,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"102","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":545000000}},"flags":""},{"id":"#UF$TABLE*2-37","table_id":2,"priority":101,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"101","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":48000000}},"flags":""},{"id":"#UF$TABLE*2-39","table_id":2,"priority":103,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"103","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":45000000}},"flags":""},{"id":"#UF$TABLE*2-34","table_id":2,"priority":38,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"38","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-queue-action":{"queue-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":552000000}},"flags":""},{"id":"#UF$TABLE*2-33",... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.122753" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=${node_id}/flow-node-inventory:table=2</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.101981" elapsed="0.020834"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.125869" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":50,"packets-matched":"0"},"flow":[{"id":"#UF$TABLE*2-49","table_id":2,"priority":202,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"202","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":36000000}},"flags":""},{"id":"#UF$TABLE*2-48","table_id":2,"priority":201,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":5,"nanosecond":533000000}},"flags":""},{"id":"#UF$TABLE*2-45","table_id":2,"priority":109,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"109","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":39000000}},"flags":""},{"id":"#UF$TABLE*2-44","table_id":2,"priority":108,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"108","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":7,"nanosecond":537000000}},"flags":""},{"id":"#UF$TABLE*2-47","table_id":2,"priority":113,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"113","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-mpls-action":{"ethernet-type":34888}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":36000000}},"flags":""},{"id":"#UF$TABLE*2-46","table_id":2,"priority":110,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","ip-match":{"ip-protocol":6,"ip-ecn":3}},"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":6,"nanosecond":536000000}},"flags":""},{"id":"#UF$TABLE*2-41","table_id":2,"priority":105,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a000::/84","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"105","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"NORMAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":30000000}},"flags":""},{"id":"#UF$TABLE*2-40","table_id":2,"priority":104,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"104","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":9,"nanosecond":543000000}},"flags":""},{"id":"#UF$TABLE*2-43","table_id":2,"priority":107,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.64.0.0/10","ipv4-destination":"172.168.192.0/18","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"107","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"ALL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":41000000}},"flags":""},{"id":"#UF$TABLE*2-42","table_id":2,"priority":106,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":80,"tcp-source-port":20345,"ipv6-source":"1234:5678:9abc:def0:fdcd:a987:6000:0/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"cookie":"106","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"FLOOD"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":8,"nanosecond":541000000}},"flags":""},{"id":"#UF$TABLE*2-38","table_id":2,"priority":102,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"102","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":545000000}},"flags":""},{"id":"#UF$TABLE*2-37","table_id":2,"priority":101,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"101","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":48000000}},"flags":""},{"id":"#UF$TABLE*2-39","table_id":2,"priority":103,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"103","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"1"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":10,"nanosecond":45000000}},"flags":""},{"id":"#UF$TABLE*2-34","table_id":2,"priority":38,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"38","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-queue-action":{"queue-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":552000000}},"flags":""},{"id":"#UF$TABLE*2-33","table_id":2,"priority":36,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"36","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"ip-match":{"ip-dscp":1}}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":51000000}},"flags":""},{"id":"#UF$TABLE*2-36","table_id":2,"priority":45,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"cookie":"45","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":11,"nanosecond":548000000}},"flags":""},{"id":"#UF$TABLE*2-35","table_id":2,"priority":43,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"cookie":"43","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":12,"nanosecond":49000000}},"flags":""},{"id":"#UF$TABLE*2-30","table_id":2,"priority":24,"cookie_mask":"0","idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"cookie":"24","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"TABLE"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":559000000}},"flags":""},{"id":"#UF$TABLE*2-32","table_id":2,"priority":31,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"31","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":13,"nanosecond":558000000}},"flags":""},{"id":"#UF$TABLE*2-31","table_id":2,"priority":25,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":58,"ip-ecn":3,"ip-dscp":60},"icmpv6-match":{"icmpv6-code":3,"icmpv6-type":6}},"cookie":"25","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":14,"nanosecond":60000000}},"flags":""},{"id":"#UF$TABLE*2-27","table_id":2,"priority":21,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":25364,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80::2acf:e9ff:fe21:6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"21","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":65000000}},"flags":""},{"id":"#UF$TABLE*2-26","table_id":2,"priority":20,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"cookie":"20","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"LOCAL"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":565000000}},"flags":""},{"id":"#UF$TABLE*2-29","table_id":2,"priority":23,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-label":{"ipv6-flabel":33},"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"23","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":64000000}},"flags":""},{"id":"#UF$TABLE*2-28","table_id":2,"priority":22,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"22","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":15,"nanosecond":557000000}},"flags":""},{"id":"#UF$TABLE*2-23","table_id":2,"priority":17,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"protocol-match-fields":{"mpls-tc":3,"mpls-bos":1,"mpls-label":567}},"cookie":"17","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":18,"nanosecond":63000000}},"flags":""},{"id":"#UF$TABLE*2-9","table_id":2,"priority":1,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"cookie":"1","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":25,"nanosecond":122000000}},"flags":""},{"id":"#UF$TABLE*2-22","table_id":2,"priority":16,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true},"vlan-pcp":3}},"cookie":"16","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":18,"nanosecond":571000000}},"flags":""},{"id":"#UF$TABLE*2-25","table_id":2,"priority":19,"cookie_mask":"0","idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"cookie":"19","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"IN_PORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":17,"nanosecond":71000000}},"flags":""},{"id":"#UF$TABLE*2-24","table_id":2,"priority":18,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"ipv6-source":"fe80::2acf:e9ff:fe21:6431/128","ipv6-destination":"aabb:1234:2acf:e9ff::/64"},"cookie":"18","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":17,"nanosecond":569000000}},"flags":""},{"id":"#UF$TABLE*2-21","table_id":2,"priority":15,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":34887}},"vlan-match":{"vlan-id":{"vlan-id":78,"vlan-id-present":true}}},"cookie":"15","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":19,"nanosecond":72000000}},"flags":""},{"id":"#UF$TABLE*2-20","table_id":2,"priority":14,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:fc:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2054}},"arp-target-hardware-address":{"address":"fe:dc:ba:98:76:54"},"arp-source-transport-address":"192.168.4.1/32","arp-op":1,"arp-target-transport-address":"10.21.22.23/32","arp-source-hardware-address":{"address":"12:34:56:78:98:ab"}},"cookie":"14","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":19,"nanosecond":571000000}},"flags":""},{"id":"#UF$TABLE*2-50","table_id":2,"priority":203,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"203","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":534000000}},"flags":""},{"id":"#UF$TABLE*2-19","table_id":2,"priority":11,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"cookie":"11","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":20,"nanosecond":76000000}},"flags":""},{"id":"#UF$TABLE*2-16","table_id":2,"priority":8,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:00","mask":"ff:ff:ff:ff:ff:00"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"tcp-destination-port":8080,"tcp-source-port":25364,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":2}},"cookie":"8","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":21,"nanosecond":577000000}},"flags":""},{"id":"#UF$TABLE*2-15","table_id":2,"priority":7,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:aa"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"0","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":15}},"cookie":"7","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":22,"nanosecond":77000000}},"flags":""},{"id":"#UF$TABLE*2-18","table_id":2,"priority":10,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":20,"nanosecond":574000000}},"flags":""},{"id":"#UF$TABLE*2-17","table_id":2,"priority":9,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"20:14:29:01:19:61"},"ethernet-type":{"type":2048}},"udp-destination-port":8080,"udp-source-port":25364,"ipv4-source":"19.1.0.0/16","ipv4-destination":"172.168.5.0/24","in-port":"0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"cookie":"9","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":21,"nanosecond":76000000}},"flags":""},{"id":"#UF$TABLE*2-56","table_id":2,"priority":218,"cookie_mask":"0","idle-timeout":0,"match":{"tunnel":{"tunnel-mask":"65520","tunnel-id":"10656"}},"cookie":"218","instructions":{"instruction":[{"order":0,"go-to-table":{"table_id":3}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":521000000}},"flags":""},{"id":"#UF$TABLE*2-12","table_id":2,"priority":4,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":34887}}},"cookie":"4","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-mpls-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":23,"nanosecond":583000000}},"flags":""},{"id":"#UF$TABLE*2-55","table_id":2,"priority":214,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","ip-match":{"ip-protocol":56,"ip-ecn":1,"ip-dscp":60}},"cookie":"214","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"ip-match":{"ip-ecn":2}}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":27000000}},"flags":""},{"id":"#UF$TABLE*2-11","table_id":2,"priority":3,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"cookie":"3","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":24,"nanosecond":85000000}},"flags":""},{"id":"#UF$TABLE*2-58","table_id":2,"priority":220,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"cookie":"220","instructions":{"instruction":[{"order":0,"write-metadata":{"metadata-mask":"12","metadata":"10"}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":516000000}},"flags":""},{"id":"#UF$TABLE*2-14","table_id":2,"priority":6,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:01:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"40.4.0.0/16"},"cookie":"6","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":22,"nanosecond":581000000}},"flags":""},{"id":"#UF$TABLE*2-57","table_id":2,"priority":219,"cookie_mask":"0","idle-timeout":0,"match":{"vlan-match":{"vlan-id":{"vlan-id":10,"vlan-id-present":true},"vlan-pcp":3}},"cookie":"219","instructions":{"instruction":[{"order":0}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":22000000}},"flags":""},{"id":"#UF$TABLE*2-13","table_id":2,"priority":5,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:23:ae"},"ethernet-destination":{"address":"ff:ff:ff:ff:ff:ff"},"ethernet-type":{"type":2048}},"ipv4-source":"10.1.2.0/24","ipv4-destination":"20.4.0.0/16","in-port":"0"},"cookie":"5","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":23,"nanosecond":79000000}},"flags":""},{"id":"#UF$TABLE*2-52","table_id":2,"priority":205,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"205","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-source-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":526000000}},"flags":""},{"id":"#UF$TABLE*2-51","table_id":2,"priority":204,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"udp-destination-port":8080,"udp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":17,"ip-ecn":3}},"cookie":"204","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"udp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":31000000}},"flags":""},{"id":"#UF$TABLE*2-54","table_id":2,"priority":209,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"tcp-destination-port":8080,"tcp-source-port":183,"ipv6-source":"1234:5678:9abc:def0:fdc0::/76","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":3,"ip-dscp":60}},"cookie":"209","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tunnel":{"tunnel-id":"2591"}}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":528000000}},"flags":""},{"id":"#UF$TABLE*2-10","table_id":2,"priority":2,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"cookie":"2","hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":24,"nanosecond":580000000}},"flags":""},{"id":"#UF$TABLE*2-53","table_id":2,"priority":206,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:11:23:ae"},"ethernet-destination":{"address":"ff:ff:29:01:19:61"},"ethernet-type":{"type":2048}},"sctp-source-port":768,"sctp-destination-port":384,"ipv4-source":"17.0.0.0/8","ipv4-destination":"172.168.0.0/16","in-port":"0","ip-match":{"ip-protocol":132,"ip-ecn":0,"ip-dscp":0}},"cookie":"206","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"sctp-destination-port":1111}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":26000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.123272" elapsed="0.002909"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.128916" level="INFO">Item found from container 50 times.</msg>
<arg>${resp.text}</arg>
<arg>priority</arg>
<arg>${flows}</arg>
<doc>Fails if ``container`` does not contain ``item`` ``count`` times.</doc>
<status status="PASS" start="2026-05-25T00:36:53.126353" elapsed="0.002720"/>
</kw>
<arg>openflow%3A1</arg>
<arg>${flows}</arg>
<doc>A GET on the /node=${node_id} inventory API is made and flow stats string is checked for existence.</doc>
<status status="PASS" start="2026-05-25T00:36:53.101137" elapsed="0.028003"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>FlowLib.Check Flow Stats Are Available</arg>
<arg>openflow%3A1</arg>
<arg>${flows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:36:51.062929" elapsed="2.066264"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:36:53.132639" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:36:53.129370" elapsed="0.003325"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:36:53.266565" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=59.634s, table=0, n_packets=16, n_bytes=1256, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x1, duration=27.148s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=dec_ttl
 cookie=0x1f, duration=15.584s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x24, duration=15.077s, table=2, n_packets=0, n_bytes=0, priority=36,ip,nw_dst=10.0.0.0/24 actions=set_field:1-&gt;ip_dscp
 cookie=0x26, duration=14.578s, table=2, n_packets=0, n_bytes=0, priority=38,ip,nw_dst=10.0.0.0/24 actions=set_queue:1
 cookie=0xdc, duration=2.542s, table=2, n_packets=0, n_bytes=0, priority=220,ip,nw_dst=10.0.0.0/24 actions=write_metadata:0xa/0xc
 cookie=0xdb, duration=3.048s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xda, duration=3.547s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=4.053s, table=2, n_packets=0, n_bytes=0, priority=214,ip,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=240,nw_ecn=1 actions=set_field:2-&gt;nw_ecn
 cookie=0x15, duration=18.091s, table=2, n_packets=0, n_bytes=0, priority=21,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80::2acf:e9ff:fe21:6431,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=dec_ttl
 cookie=0x16, duration=17.583s, table=2, n_packets=0, n_bytes=0, priority=22,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=dec_ttl
 cookie=0x65, duration=13.074s, table=2, n_packets=0, n_bytes=0, priority=101,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=TABLE
 cookie=0x68, duration=11.569s, table=2, n_packets=0, n_bytes=0, priority=104,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=LOCAL
 cookie=0xd1, duration=4.554s, table=2, n_packets=0, n_bytes=0, priority=209,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:0xa1f-&gt;tun_id
 cookie=0xa, duration=22.600s, table=2, n_packets=0, n_bytes=0, priority=10,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=dec_ttl
 cookie=0xb, duration=22.102s, table=2, n_packets=0, n_bytes=0, priority=11,icmp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=108,nw_ecn=3,icmp_type=6,icmp_code=3 actions=dec_ttl
 cookie=0xcd, duration=5.552s, table=2, n_packets=0, n_bytes=0, priority=205,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=set_field:1111-&gt;sctp_src
 cookie=0xce, duration=5.052s, table=2, n_packets=0, n_bytes=0, priority=206,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=set_field:1111-&gt;sctp_dst
 cookie=0xc9, duration=7.559s, table=2, n_packets=0, n_bytes=0, priority=201,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:2059-&gt;tcp_src
 cookie=0xca, duration=7.062s, table=2, n_packets=0, n_bytes=0, priority=202,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:1234-&gt;tcp_dst
 cookie=0xcb, duration=6.560s, table=2, n_packets=0, n_bytes=0, priority=203,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:2059-&gt;udp_src
 cookie=0xcc, duration=6.057s, table=2, n_packets=0, n_bytes=0, priority=204,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=set_field:1234-&gt;udp_dst
 cookie=0x6b, duration=10.067s, table=2, n_packets=0, n_bytes=0, priority=107,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=ALL
 cookie=0x6c, duration=9.563s, table=2, n_packets=0, n_bytes=0, priority=108,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=CONTROLLER:60
 cookie=0x6d, duration=9.065s, table=2, n_packets=0, n_bytes=0, priority=109,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=NORMAL
 cookie=0x71, duration=8.062s, table=2, n_packets=0, n_bytes=0, priority=113,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=push_mpls:0x8848
 cookie=0x6e, duration=8.562s, table=2, n_packets=0, n_bytes=0, priority=110,tcp6,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=push_vlan:0x8100
 cookie=0x6a, duration=10.567s, table=2, n_packets=0, n_bytes=0, priority=106,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a987:6000:0/100,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=FLOOD
 cookie=0x69, duration=11.056s, table=2, n_packets=0, n_bytes=0, priority=105,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a000::/84,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=NORMAL
 cookie=0x66, duration=12.571s, table=2, n_packets=0, n_bytes=0, priority=102,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=IN_PORT
 cookie=0x67, duration=12.071s, table=2, n_packets=0, n_bytes=0, priority=103,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=output:"s1-eth1"
 cookie=0x2d, duration=13.574s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=drop
 cookie=0x2b, duration=14.075s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=dec_ttl
 cookie=0x17, duration=17.090s, table=2, n_packets=0, n_bytes=0, priority=23,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=dec_ttl
 cookie=0x19, duration=16.086s, table=2, n_packets=0, n_bytes=0, priority=25,icmp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,icmp_type=6,icmp_code=3 actions=dec_ttl
 cookie=0x18, duration=16.585s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=TABLE
 cookie=0x14, duration=18.591s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=LOCAL
 cookie=0x13, duration=19.097s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=IN_PORT
 cookie=0x12, duration=19.595s, table=2, n_packets=0, n_bytes=0, priority=18,ipv6,ipv6_src=fe80::2acf:e9ff:fe21:6431,ipv6_dst=aabb:1234:2acf:e9ff::/64 actions=dec_ttl
 cookie=0x11, duration=20.089s, table=2, n_packets=0, n_bytes=0, priority=17,mpls,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,mpls_label=567,mpls_tc=3,mpls_bos=1 actions=dec_mpls_ttl
 cookie=0x10, duration=20.597s, table=2, n_packets=0, n_bytes=0, priority=16,ip,dl_vlan=78,dl_vlan_pcp=3,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=dec_ttl
 cookie=0xf, duration=21.098s, table=2, n_packets=0, n_bytes=0, priority=15,mpls,dl_vlan=78,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=dec_mpls_ttl
 cookie=0xe, duration=21.597s, table=2, n_packets=0, n_bytes=0, priority=14,arp,dl_src=00:00:fc:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=192.168.4.1,arp_tpa=10.21.22.23,arp_op=1,arp_sha=12:34:56:78:98:ab,arp_tha=fe:dc:ba:98:76:54 actions=CONTROLLER:60
 cookie=0x9, duration=23.102s, table=2, n_packets=0, n_bytes=0, priority=9,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.1.0.0/16,nw_dst=172.168.5.0/24,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=dec_ttl
 cookie=0x8, duration=23.603s, table=2, n_packets=0, n_bytes=0, priority=8,tcp,in_port=0,dl_src=00:00:00:11:23:00/ff:ff:ff:ff:ff:00,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=dec_ttl
 cookie=0x7, duration=24.103s, table=2, n_packets=0, n_bytes=0, priority=7,ip,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:ff:ff:ff:aa,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=60,nw_ecn=1 actions=dec_ttl
 cookie=0x6, duration=24.607s, table=2, n_packets=0, n_bytes=0, priority=6,ip,dl_src=00:00:00:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=40.4.0.0/16 actions=dec_ttl
 cookie=0x5, duration=25.105s, table=2, n_packets=0, n_bytes=0, priority=5,ip,in_port=0,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16 actions=dec_ttl
 cookie=0x4, duration=25.609s, table=2, n_packets=0, n_bytes=0, priority=4,mpls,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff actions=dec_mpls_ttl
 cookie=0x3, duration=26.111s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=drop
 cookie=0x2, duration=26.606s, table=2, n_packets=0, n_bytes=0, priority=2,ip,nw_src=10.0.0.1 actions=drop
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:36:53.132849" elapsed="0.134040"/>
</kw>
<doc>Add all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-05-25T00:36:25.897628" elapsed="27.369446"/>
</test>
<test id="s1-s3-s2-t2" name="Test Is Flow 1 Added" line="50">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.279137" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.279353" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.278980" elapsed="0.000403"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.280016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.279556" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.280505" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.280202" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.280961" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.280688" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.281430" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.281140" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.282263" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.281609" elapsed="0.000686"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.282814" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.282463" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.283369" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.283013" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.283899" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.283567" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.284431" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.284096" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.284954" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.284632" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.285501" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.285153" elapsed="0.000390"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.278633" elapsed="0.006967"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.286156" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.285753" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.286605" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.286357" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.294729" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.294414" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.300191" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.300365" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.300490" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.294932" elapsed="0.005600"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.301111" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.300756" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.304200" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.301400" elapsed="0.002894"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:53.306883" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:36:53.304407" elapsed="0.002579"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.304374" elapsed="0.002648"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:53.307262" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.307590" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.307395" elapsed="0.000269"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:53.307372" elapsed="0.000325"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.307743" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:53.310034" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:53.310098" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.294072" elapsed="0.016058"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.312719" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.310914" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.310889" elapsed="0.001898"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.313356" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.312935" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.313913" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.313554" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.313991" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:53.314171" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.310446" elapsed="0.003751"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.314371" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.293479" elapsed="0.021353"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.322857" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.322555" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.336583" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.345390" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.345995" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.323013" elapsed="0.023020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.346678" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.346296" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.350707" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.346946" elapsed="0.005045"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.354631" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.352097" elapsed="0.002799"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.352068" elapsed="0.002862"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.415032" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:53.415119" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:53.355173" elapsed="0.059972"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.417109" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.415283" elapsed="0.001886"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.415252" elapsed="0.001945"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:53.417249" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:53.417470" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:53.417519" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.322155" elapsed="0.095387"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.419791" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.418149" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.418130" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.420485" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.420015" elapsed="0.000500"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.421051" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.420679" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.421128" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:53.421330" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.417786" elapsed="0.003570"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.421514" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.321407" elapsed="0.100573"/>
</kw>
<arg>f1.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.275307" elapsed="0.146730"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.267745" elapsed="0.154414"/>
</test>
<test id="s1-s3-s2-t3" name="Test Is Flow 2 Added" line="52">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.433831" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.433992" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.433685" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.434604" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0ecf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.434174" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.435072" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.434787" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.435559" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.435284" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.436010" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.435737" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.436828" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.436188" elapsed="0.000670"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.437372" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.437020" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.437975" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.437645" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.438524" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.438177" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.439037" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.438720" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.439752" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.439267" elapsed="0.000532"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.440297" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0ecf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.439953" elapsed="0.000388"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.433345" elapsed="0.007052"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.440939" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.440550" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.441383" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.441120" elapsed="0.000322"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.449164" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.448857" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.454185" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.454345" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.454446" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.449338" elapsed="0.005134"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.455039" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.454636" elapsed="0.000478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.457284" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.455283" elapsed="0.002054"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:53.459201" elapsed="0.000045"/>
</return>
<status status="PASS" start="2026-05-25T00:36:53.457413" elapsed="0.001874"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.457391" elapsed="0.001922"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:53.459459" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.459688" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.459551" elapsed="0.000226"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:53.459535" elapsed="0.000267"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.459835" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:53.461479" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:53.461524" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.448535" elapsed="0.013012"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.463839" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.462093" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.462075" elapsed="0.001860"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.464731" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.464142" elapsed="0.000627"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.465517" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.464998" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.465623" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:53.465876" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.461758" elapsed="0.004153"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.466130" elapsed="0.000577"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.447954" elapsed="0.018843"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.477297" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.476977" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.486587" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.487427" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.487847" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.477457" elapsed="0.010428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.488537" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.488131" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.492536" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.488802" elapsed="0.004830"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.496052" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.493737" elapsed="0.002367"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.493708" elapsed="0.002419"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.522208" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:53.522271" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:53.496284" elapsed="0.026012"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.524161" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.522377" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.522358" elapsed="0.001900"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:53.524292" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:53.524498" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:53.524543" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.476593" elapsed="0.047976"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.526780" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.525154" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.525136" elapsed="0.001713"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.527490" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.527003" elapsed="0.000516"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.528043" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.527685" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.528120" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:53.528320" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.524806" elapsed="0.003540"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.528512" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.475894" elapsed="0.053082"/>
</kw>
<arg>f2.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.430018" elapsed="0.099017"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.422649" elapsed="0.106511"/>
</test>
<test id="s1-s3-s2-t4" name="Test Is Flow 3 Added" line="54">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.540853" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.541016" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.540705" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.541627" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40a570&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.541200" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.542092" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.541809" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.542565" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.542291" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.543013" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.542742" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.543935" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.543316" elapsed="0.000650"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.544493" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.544129" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.545070" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.544741" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.545617" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.545284" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.546132" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.545814" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.546669" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.546347" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.547229" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40a570&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.546871" elapsed="0.000419"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.540371" elapsed="0.006976"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.547891" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.547499" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.548338" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.548075" elapsed="0.000322"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.556315" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.555988" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.562167" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.562324" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.562449" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.556476" elapsed="0.005999"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.562905" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.562644" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.565132" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.563123" elapsed="0.002061"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:53.567058" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-05-25T00:36:53.565277" elapsed="0.001872"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.565254" elapsed="0.001937"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:53.567359" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.567592" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.567455" elapsed="0.000230"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:53.567438" elapsed="0.000272"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.567743" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:53.569387" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:53.569432" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.555660" elapsed="0.013795"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.571625" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.570007" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.569990" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.572260" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.571840" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.572801" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.572451" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.572878" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:53.573057" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.569673" elapsed="0.003409"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.573255" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.555069" elapsed="0.018647"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.581895" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.581591" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.592686" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.593284" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.593575" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.582055" elapsed="0.011547"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.594025" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.593767" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.596834" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.594214" elapsed="0.003404"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.599486" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.597692" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.597672" elapsed="0.001888"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.626374" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:53.626428" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:53.599702" elapsed="0.026750"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.628394" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.626549" elapsed="0.001906"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.626525" elapsed="0.001956"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:53.628518" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:53.628730" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:53.628776" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.581194" elapsed="0.047605"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.631039" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.629409" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.629390" elapsed="0.001719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.631710" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.631276" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.632279" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.631903" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.632357" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:53.632545" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.629039" elapsed="0.003531"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.632729" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.580501" elapsed="0.052694"/>
</kw>
<arg>f3.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.537056" elapsed="0.096241"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.529660" elapsed="0.103773"/>
</test>
<test id="s1-s3-s2-t5" name="Test Is Flow 4 Added" line="56">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.644927" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.645109" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.644783" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.645720" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c91c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.645308" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.646186" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.645902" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.646656" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.646381" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.647121" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.646833" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.647952" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.647314" elapsed="0.000669"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.648497" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.648143" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.649073" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.648744" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.649619" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.649287" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.650132" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.649815" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.650671" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.650348" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.651251" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c91c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.650869" elapsed="0.000427"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.644444" elapsed="0.006908"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.651890" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.651505" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.652334" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.652074" elapsed="0.000323"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.660491" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.660153" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.665672" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.665829" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.665928" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.660650" elapsed="0.005303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.666397" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.666115" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.668621" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.666594" elapsed="0.002079"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:53.670522" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:36:53.668745" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.668725" elapsed="0.001892"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:53.670760" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.671066" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.670887" elapsed="0.000234"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:53.670870" elapsed="0.000275"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.671178" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:53.672857" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:53.672903" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.659834" elapsed="0.013093"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.675108" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.673497" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.673475" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.675740" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.675340" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.676298" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.675929" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.676374" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:53.676554" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.673140" elapsed="0.003440"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.676736" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.659269" elapsed="0.017917"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.685011" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.684709" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.696145" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.696739" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.697015" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.685167" elapsed="0.011876"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.697481" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.697208" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.700299" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.697674" elapsed="0.003379"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.702921" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.701125" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.701105" elapsed="0.001923"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.728747" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:53.728795" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:53.703180" elapsed="0.025640"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.730654" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.728901" elapsed="0.001810"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.728882" elapsed="0.001855"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:53.730772" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:53.730988" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:53.731035" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.684331" elapsed="0.046728"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.733256" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.731640" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.731621" elapsed="0.001706"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.733888" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.733478" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.734454" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.734080" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.734531" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:53.734713" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.731298" elapsed="0.003441"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.734899" elapsed="0.000436"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.683695" elapsed="0.051704"/>
</kw>
<arg>f4.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.641133" elapsed="0.094325"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.633855" elapsed="0.101720"/>
</test>
<test id="s1-s3-s2-t6" name="Test Is Flow 5 Added" line="58">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.747105" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.747267" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.746945" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.747871" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11e90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.747454" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.748354" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.748054" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.748808" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.748537" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.749268" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.748984" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.750106" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.749446" elapsed="0.000690"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.750637" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.750308" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.751230" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.750873" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.751771" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.751443" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.752293" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.751964" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.752812" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.752492" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.753340" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11e90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.753007" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.746612" elapsed="0.006825"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.753971" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.753589" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.754419" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.754154" elapsed="0.000326"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.762424" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.762099" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.767031" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.767162" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.767282" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.762583" elapsed="0.004726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.767740" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.767484" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.769928" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.767929" elapsed="0.002051"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:53.771853" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:36:53.770053" elapsed="0.001871"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.770033" elapsed="0.001916"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:53.772130" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.772378" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.772224" elapsed="0.000207"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:53.772207" elapsed="0.000248"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.772488" elapsed="0.000024"/>
</return>
<msg time="2026-05-25T00:36:53.774164" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:53.774210" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.761776" elapsed="0.012469"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.776802" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.774797" elapsed="0.002071"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.774779" elapsed="0.002121"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.777690" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.777106" elapsed="0.000622"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.778475" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.777955" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.778581" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:53.778831" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.774461" elapsed="0.004405"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.779109" elapsed="0.000566"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.761195" elapsed="0.018569"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.790464" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.790016" elapsed="0.000481"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.801865" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.803018" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.803448" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.790641" elapsed="0.012845"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.804090" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.803721" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.808043" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.804381" elapsed="0.004742"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.811692" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.809228" elapsed="0.002516"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.809200" elapsed="0.002567"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.839190" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:53.839264" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:53.811910" elapsed="0.027380"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.841219" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.839398" elapsed="0.001898"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.839371" elapsed="0.001952"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:53.841359" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:53.841581" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:53.841626" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.789477" elapsed="0.052173"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.843939" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.842304" elapsed="0.001682"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.842283" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.844620" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.844161" elapsed="0.000488"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.845173" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.844814" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.845268" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:53.845453" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.841895" elapsed="0.003584"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.845640" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.788815" elapsed="0.057290"/>
</kw>
<arg>f5.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.743324" elapsed="0.102839"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.736030" elapsed="0.110271"/>
</test>
<test id="s1-s3-s2-t7" name="Test Is Flow 6 Added" line="60">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.858189" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.858391" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.858043" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.859036" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.858577" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.859521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.859219" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.859976" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.859703" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.860445" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.860154" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.861295" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.860624" elapsed="0.000702"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.861819" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.861485" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.862415" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.862071" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.862960" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.862613" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.863494" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.863157" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.864019" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.863693" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.864559" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.864219" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.857708" elapsed="0.006949"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.865196" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.864808" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.865649" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.865405" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.873711" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.873404" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.878892" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.879073" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.879172" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.873869" elapsed="0.005329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.879711" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.879387" elapsed="0.000388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.882930" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.879978" elapsed="0.003028"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:53.885867" elapsed="0.000055"/>
</return>
<status status="PASS" start="2026-05-25T00:36:53.883109" elapsed="0.002893"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.883080" elapsed="0.002974"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:53.886336" elapsed="0.000084"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.886728" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.886533" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:53.886506" elapsed="0.000330"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.886883" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:53.889247" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:53.889314" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.873071" elapsed="0.016276"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.892159" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.890112" elapsed="0.002094"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.890086" elapsed="0.002143"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.892813" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.892392" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.893443" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.893059" elapsed="0.000412"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.893522" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:53.893704" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.889645" elapsed="0.004084"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.893907" elapsed="0.000420"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.872511" elapsed="0.021881"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.902369" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.902046" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.911435" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.912217" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:53.912636" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.902527" elapsed="0.010147"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.913287" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.912900" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.917186" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.913556" elapsed="0.004722"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.920942" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.918380" elapsed="0.002632"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.918352" elapsed="0.002692"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.949555" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:53.949604" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:53.921261" elapsed="0.028368"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:53.951647" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:53.949712" elapsed="0.002022"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.949692" elapsed="0.002084"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:53.951828" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:53.952109" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:53.952175" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.901668" elapsed="0.050544"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:53.955430" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:53.953064" elapsed="0.002432"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:53.953036" elapsed="0.002492"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.956326" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.955735" elapsed="0.000629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.957112" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.956592" elapsed="0.000560"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:53.957219" elapsed="0.000061"/>
</return>
<msg time="2026-05-25T00:36:53.957506" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:53.952587" elapsed="0.004957"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:53.957781" elapsed="0.000592"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.901038" elapsed="0.057427"/>
</kw>
<arg>f6.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.854409" elapsed="0.104146"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.846746" elapsed="0.111981"/>
</test>
<test id="s1-s3-s2-t8" name="Test Is Flow 7 Added" line="62">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:53.974454" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:53.974669" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:53.974218" elapsed="0.000495"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:53.975616" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f82c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:53.974983" elapsed="0.000675"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.976293" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.975879" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.976921" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.976557" elapsed="0.000392"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:53.977403" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:53.977106" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:53.978422" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:53.977584" elapsed="0.000870"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.978978" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.978617" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.979663" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.979226" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.980204" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.979870" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.980733" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.980419" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.981266" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.980931" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.981785" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f82c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:53.981467" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:53.973750" elapsed="0.008132"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.982437" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:53.982032" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.982861" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.982621" elapsed="0.000322"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.991920" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:53.991607" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:53.997500" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:53.997644" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:53.997750" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:53.992081" elapsed="0.005695"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:53.998254" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.997954" elapsed="0.000350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.000632" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:53.998452" elapsed="0.002232"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.002535" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.000764" elapsed="0.001919"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.000741" elapsed="0.001974"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.002862" elapsed="0.000044"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.003115" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.002977" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.002960" elapsed="0.000231"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.003223" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:54.004888" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.004935" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:53.991266" elapsed="0.013691"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.007168" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.005543" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.005525" elapsed="0.001734"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.007916" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.007410" elapsed="0.000537"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.008663" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.008125" elapsed="0.000574"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.008769" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:54.009018" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.005182" elapsed="0.003871"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.009296" elapsed="0.000549"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:53.990322" elapsed="0.019614"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.020641" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.020332" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.032506" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.033375" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.033826" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.020801" elapsed="0.013064"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.034574" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.034141" elapsed="0.000499"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.038620" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.034842" elapsed="0.004895"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.042349" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.039849" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.039818" elapsed="0.002637"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.070193" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.070255" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.042655" elapsed="0.027625"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.072135" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.070363" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.070343" elapsed="0.001876"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.072268" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:36:54.072481" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.072525" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.019937" elapsed="0.052611"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.074775" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.073137" elapsed="0.001685"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.073118" elapsed="0.001745"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.075454" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.075018" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.076002" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.075645" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.076078" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:54.076276" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.072786" elapsed="0.003517"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.076462" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.019206" elapsed="0.057717"/>
</kw>
<arg>f7.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:53.969259" elapsed="0.107721"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:53.959386" elapsed="0.117716"/>
</test>
<test id="s1-s3-s2-t9" name="Test Is Flow 8 Added" line="64">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.089731" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.089952" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.089580" elapsed="0.000416"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.090906" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354040&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.090219" elapsed="0.000730"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.091580" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.091177" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.092220" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.091832" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.092904" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.092503" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.094301" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.093155" elapsed="0.001193"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.095084" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.094574" elapsed="0.000577"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.095929" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.095447" elapsed="0.000544"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.096728" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.096216" elapsed="0.000576"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.097506" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.097019" elapsed="0.000555"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.098299" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.097797" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.099084" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354040&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.098600" elapsed="0.000551"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.089209" elapsed="0.010045"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.100038" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.099482" elapsed="0.000596"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.100685" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.100322" elapsed="0.000459"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.111059" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.110627" elapsed="0.000462"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.116657" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.116792" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.116893" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.111226" elapsed="0.005693"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.117363" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.117084" elapsed="0.000334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.120307" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.117629" elapsed="0.002748"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.123024" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.120525" elapsed="0.002607"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.120495" elapsed="0.002679"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.123416" elapsed="0.000035"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.123896" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.123599" elapsed="0.000404"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.123559" elapsed="0.000490"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.124112" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:54.127407" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.127498" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.110299" elapsed="0.017236"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.130701" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.128372" elapsed="0.002401"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.128345" elapsed="0.002464"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.131713" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.131055" elapsed="0.000699"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.132544" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.131997" elapsed="0.000589"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.132666" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:36:54.132943" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.127859" elapsed="0.005123"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.133207" elapsed="0.000570"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.109697" elapsed="0.024174"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.145338" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.144847" elapsed="0.000529"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.161600" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.162573" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.163084" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.145566" elapsed="0.017563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.163943" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.163482" elapsed="0.000535"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.168316" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;533000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;39000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;537000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;36000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;536000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;30000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;543000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;545000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;552000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;49000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;569000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;72000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;571000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;534000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;77000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;521000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;27000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;0&lt;/second&gt;&lt;nanosecond&gt;516000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;22000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;79000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;526000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;31000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;528000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;26000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.164230" elapsed="0.005243"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.172119" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.169601" elapsed="0.002597"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.169562" elapsed="0.002693"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.211502" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.211569" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.172549" elapsed="0.039045"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.213771" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.211722" elapsed="0.002112"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.211691" elapsed="0.002171"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.213902" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:36:54.214129" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.214174" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.144290" elapsed="0.069906"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.216465" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.214861" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.214842" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.217153" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.216696" elapsed="0.000485"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.217725" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.217364" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.217801" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:54.217982" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.214475" elapsed="0.003532"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.218172" elapsed="0.000558"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.143327" elapsed="0.075485"/>
</kw>
<arg>f8.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.085439" elapsed="0.133436"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.077565" elapsed="0.141437"/>
</test>
<test id="s1-s3-s2-t10" name="Test Is Flow 9 Added" line="66">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.240829" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.241025" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.240658" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.241757" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.241264" elapsed="0.000523"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.242268" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.241948" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.242742" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.242459" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.243264" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.242956" elapsed="0.000335"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.244229" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.243446" elapsed="0.000832"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.244788" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.244443" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.245492" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.245061" elapsed="0.000489"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.246347" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.245714" elapsed="0.000682"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.246941" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.246569" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.247708" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.247358" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.248279" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.247916" elapsed="0.000410"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.240231" elapsed="0.008153"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.248948" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.248540" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.249623" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.249136" elapsed="0.000554"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.260255" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.259700" elapsed="0.000605"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.267267" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.267412" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.267513" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.260507" elapsed="0.007033"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.268118" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.267705" elapsed="0.000515"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.270457" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.268390" elapsed="0.002120"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.273025" elapsed="0.000052"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.270591" elapsed="0.002600"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.270567" elapsed="0.002712"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.273506" elapsed="0.000036"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.273854" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.273651" elapsed="0.000282"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.273624" elapsed="0.000344"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.274016" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:36:54.276485" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.276554" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.259043" elapsed="0.017546"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.279877" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.277419" elapsed="0.002528"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.277393" elapsed="0.002587"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.280840" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.280197" elapsed="0.000683"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.281686" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.281124" elapsed="0.000602"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.281799" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:54.282064" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.276905" elapsed="0.005196"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.282355" elapsed="0.000621"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.257933" elapsed="0.025136"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.291101" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.290777" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.303442" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.311740" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.312121" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.291295" elapsed="0.020914"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.312805" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.312470" elapsed="0.000384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.315571" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.313000" elapsed="0.003395"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.318283" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.316483" elapsed="0.001854"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.316457" elapsed="0.001903"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.344592" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.344649" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.318507" elapsed="0.026166"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.346646" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.344786" elapsed="0.001920"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.344757" elapsed="0.001977"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.346808" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:54.347031" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.347075" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.290352" elapsed="0.056746"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.349338" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.347732" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.347714" elapsed="0.001692"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.350011" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.349561" elapsed="0.000477"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.350573" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.350202" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.350648" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:54.350849" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.347371" elapsed="0.003504"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.351032" elapsed="0.000420"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.289707" elapsed="0.061810"/>
</kw>
<arg>f9.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.234538" elapsed="0.117039"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.219493" elapsed="0.132209"/>
</test>
<test id="s1-s3-s2-t11" name="Test Is Flow 10 Added" line="68">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.362800" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.362970" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.362633" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.363656" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5440&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.363190" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.364123" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.363839" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.364587" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.364316" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.365029" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.364762" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.365978" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.365204" elapsed="0.000804"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.366515" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.366166" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.367112" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.366785" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.367647" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.367322" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.368151" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.367839" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.368683" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.368362" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.369380" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5440&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.368879" elapsed="0.000546"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.362293" elapsed="0.007189"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.370021" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.369636" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.370465" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.370204" elapsed="0.000326"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.378295" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.377967" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.383308" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.383456" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.383557" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.378455" elapsed="0.005127"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.384006" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.383748" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.386192" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.384195" elapsed="0.002065"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.388158" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.386338" elapsed="0.001909"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.386316" elapsed="0.001959"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.388423" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.388651" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.388516" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.388499" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.388759" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:54.390402" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.390447" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.377645" elapsed="0.012825"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.393139" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.391066" elapsed="0.002138"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.391048" elapsed="0.002205"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.394028" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.393465" elapsed="0.000600"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.394830" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.394317" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.394936" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:54.395186" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.390687" elapsed="0.004534"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.395466" elapsed="0.000550"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.377060" elapsed="0.019043"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.404918" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.404617" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.415799" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.416445" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.417025" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.405074" elapsed="0.012011"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.418067" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.417486" elapsed="0.000686"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.424632" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.418536" elapsed="0.007854"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.428881" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.426553" elapsed="0.002381"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.426508" elapsed="0.002449"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.454954" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.455020" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.429111" elapsed="0.025935"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.457079" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.455165" elapsed="0.001973"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.455137" elapsed="0.002028"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.457204" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:36:54.457439" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.457485" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.404219" elapsed="0.053290"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.459756" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.458122" elapsed="0.001681"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.458103" elapsed="0.001723"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.460444" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.459980" elapsed="0.000493"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.460993" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.460638" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.461069" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:54.461265" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.457761" elapsed="0.003531"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.461450" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.403597" elapsed="0.058322"/>
</kw>
<arg>f10.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.358910" elapsed="0.103070"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.352008" elapsed="0.110096"/>
</test>
<test id="s1-s3-s2-t12" name="Test Is Flow 11 Added" line="70">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.473205" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.473388" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.473059" elapsed="0.000358"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.474011" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4decf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.473571" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.474496" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.474194" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.474980" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.474679" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.475447" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.475158" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.476408" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.475632" elapsed="0.000807"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.476934" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.476600" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.477539" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.477193" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.478069" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.477738" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.478602" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.478283" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.479146" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.478824" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.479691" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4decf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.479367" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.472725" elapsed="0.007063"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.480338" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.479940" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.480941" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.480521" elapsed="0.000486"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.488925" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.488614" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.493635" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.493773" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.493872" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.489085" elapsed="0.004813"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.494340" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.494058" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.496778" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.494536" elapsed="0.002308"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.498859" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.496920" elapsed="0.002013"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.496899" elapsed="0.002059"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.499104" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.499439" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.499295" elapsed="0.000198"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.499271" elapsed="0.000253"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.499576" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:54.501904" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.501969" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.488287" elapsed="0.013714"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.505198" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.502919" elapsed="0.002368"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.502891" elapsed="0.002428"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.506091" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.505529" elapsed="0.000599"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.507068" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.506378" elapsed="0.000729"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.507255" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:36:54.507522" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.502342" elapsed="0.005215"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.507775" elapsed="0.000561"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.487685" elapsed="0.020740"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.520908" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.520381" elapsed="0.000573"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.532173" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.533049" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.533457" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.521267" elapsed="0.012228"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.534080" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.533722" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.537999" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.534365" elapsed="0.004728"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.541729" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.539196" elapsed="0.002604"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.539168" elapsed="0.002664"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.572277" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.572333" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.542031" elapsed="0.030327"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.574233" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.572465" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.572441" elapsed="0.001893"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.574369" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:54.574581" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.574626" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.519412" elapsed="0.055237"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.577326" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.575692" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.575671" elapsed="0.001723"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.577981" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.577547" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.578552" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.578174" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.578629" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:54.578899" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.575055" elapsed="0.003872"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.579093" elapsed="0.000445"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.518135" elapsed="0.061470"/>
</kw>
<arg>f11.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.469438" elapsed="0.110228"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.462410" elapsed="0.117381"/>
</test>
<test id="s1-s3-s2-t13" name="Test Is Flow 15 Added" line="72">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.593114" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.593342" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.592968" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.593960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d41d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.593535" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.594447" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.594143" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.594915" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.594626" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.595376" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.595089" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.596266" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.595553" elapsed="0.000745"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.596789" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.596457" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.597385" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.597040" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.597908" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.597581" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.598429" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.598099" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.598982" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.598625" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.599514" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d41d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.599178" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.592627" elapsed="0.006983"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.600135" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.599759" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.600572" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.600332" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.611631" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.611219" elapsed="0.000439"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.616679" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.616815" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.616913" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.611788" elapsed="0.005150"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.617377" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.617099" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.619555" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.617566" elapsed="0.002040"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.621433" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.619679" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.619659" elapsed="0.001897"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.621705" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.621933" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.621799" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.621782" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.622040" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:54.623823" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.623891" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.610738" elapsed="0.013187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.627083" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.624753" elapsed="0.002399"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.624727" elapsed="0.002458"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.628009" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.627422" elapsed="0.000626"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.628827" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.628309" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.628939" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:36:54.629203" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.624258" elapsed="0.005010"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.629530" elapsed="0.000578"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.609841" elapsed="0.020373"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.638653" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.638334" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.649952" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.650551" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.651221" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.638812" elapsed="0.012500"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.652409" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.651675" elapsed="0.000838"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.658683" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.652831" elapsed="0.007089"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.661775" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.659993" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.659973" elapsed="0.001875"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.686312" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.686360" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.661990" elapsed="0.024395"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.688222" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.686467" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.686447" elapsed="0.001874"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.688356" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:54.688559" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.688604" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.637941" elapsed="0.050687"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.690847" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.689184" elapsed="0.001710"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.689166" elapsed="0.001751"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.691492" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.691066" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.692040" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.691685" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.692117" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:54.692314" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.688848" elapsed="0.003492"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.692499" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.637313" elapsed="0.055642"/>
</kw>
<arg>f15.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.587470" elapsed="0.105544"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.580115" elapsed="0.113019"/>
</test>
<test id="s1-s3-s2-t14" name="Test Is Flow 16 Added" line="74">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.704126" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.704311" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.703986" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.704908" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbf10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.704495" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.705384" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.705088" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.705833" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.705563" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.706296" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.706010" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.707288" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.706567" elapsed="0.000753"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.707811" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.707478" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.708406" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.708061" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.708930" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.708602" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.709457" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.709125" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.709971" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.709653" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.710503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbf10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.710166" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.703654" elapsed="0.006997"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.711207" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.710821" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.711650" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.711407" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.720001" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.719688" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.725269" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.725406" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.725511" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.720163" elapsed="0.005390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.726175" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.725796" elapsed="0.000469"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.729472" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.726482" elapsed="0.003067"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.732289" elapsed="0.000045"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.729657" elapsed="0.002733"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.729625" elapsed="0.002966"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.732810" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.733131" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.732941" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.732917" elapsed="0.000346"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.733314" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:54.735613" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.735659" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.719364" elapsed="0.016318"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.737845" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.736250" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.736218" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.738477" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.738061" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.739225" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.738828" elapsed="0.000443"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.739323" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:54.739510" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.735900" elapsed="0.003636"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.739698" elapsed="0.000397"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.718741" elapsed="0.021427"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.750075" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.749646" elapsed="0.000470"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.757975" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.758625" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.758916" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.750321" elapsed="0.008624"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.759406" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.759110" elapsed="0.000343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.764195" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.759604" elapsed="0.005755"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.768117" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.765499" elapsed="0.002693"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.765454" elapsed="0.002772"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.808471" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.808526" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.768452" elapsed="0.040099"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.810472" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.808653" elapsed="0.001878"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.808629" elapsed="0.001929"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.810614" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:54.810827" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.810872" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.749062" elapsed="0.061834"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.813116" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.811513" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.811495" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.813795" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.813354" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.814363" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.813987" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.814440" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:54.814656" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.811139" elapsed="0.003543"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.814843" elapsed="0.000418"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.748134" elapsed="0.067192"/>
</kw>
<arg>f16.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.700364" elapsed="0.115022"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.693444" elapsed="0.122067"/>
</test>
<test id="s1-s3-s2-t15" name="Test Is Flow 17 Added" line="76">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.826607" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.826774" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.826428" elapsed="0.000375"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.827399" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.826957" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.827866" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.827582" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.828333" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.828045" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.828782" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.828509" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.829659" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.828963" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.830188" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.829850" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.830810" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.830457" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.831356" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.831010" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.831876" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.831558" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.832415" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.832075" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.832939" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.832614" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.826073" elapsed="0.006965"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.833592" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.833189" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.834017" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.833776" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.842154" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.841844" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.847714" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.847900" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.848040" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.842327" elapsed="0.005751"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.848723" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.848351" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.851800" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.848991" elapsed="0.002881"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.854474" elapsed="0.000056"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.851978" elapsed="0.002642"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.851948" elapsed="0.002707"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.854927" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.855268" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.855059" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.855036" elapsed="0.000340"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.855421" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:54.857724" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.857788" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.841524" elapsed="0.016296"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.860631" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.858815" elapsed="0.001862"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.858790" elapsed="0.001909"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.861269" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.860848" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.861815" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.861458" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.861890" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:54.862069" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.858126" elapsed="0.003968"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.862267" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.840937" elapsed="0.021806"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.870600" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.870265" elapsed="0.000363"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.881466" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.882959" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.883609" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.870761" elapsed="0.012906"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.884633" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.884029" elapsed="0.000707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.890949" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.885057" elapsed="0.006975"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.893888" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.892107" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.892087" elapsed="0.001874"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.916942" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:54.916991" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:54.894105" elapsed="0.022911"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.918876" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.917101" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.917081" elapsed="0.001879"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:54.918995" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:54.919202" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:54.919263" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.869871" elapsed="0.049417"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.921478" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.919867" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.919849" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.922123" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.921698" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.922824" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.922378" elapsed="0.000474"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.922903" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:54.923086" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.919522" elapsed="0.003589"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.923287" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.869231" elapsed="0.054523"/>
</kw>
<arg>f17.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.822776" elapsed="0.101037"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.815838" elapsed="0.108099"/>
</test>
<test id="s1-s3-s2-t16" name="Test Is Flow 18 Added" line="78">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:54.935012" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:54.935190" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:54.934866" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:54.935798" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385e40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:54.935390" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.936275" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.935979" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.936726" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.936455" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:54.937171" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:54.936902" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:54.937959" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:54.937368" elapsed="0.000622"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.938503" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.938149" elapsed="0.000438"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.939138" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.938808" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.939688" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.939354" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.940202" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.939884" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.940741" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.940418" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.941282" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385e40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:54.940941" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:54.934534" elapsed="0.006846"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.941915" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.941531" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.942359" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.942098" elapsed="0.000321"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.950461" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.950132" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.956085" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.956212" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:54.956333" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.950639" elapsed="0.005721"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.956891" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.956531" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.960063" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.957154" elapsed="0.002981"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:54.962745" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:36:54.960254" elapsed="0.002586"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.960207" elapsed="0.002668"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:54.963074" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:54.963460" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:54.963201" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:54.963178" elapsed="0.000393"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.963616" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:54.965906" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:54.965969" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.949811" elapsed="0.016190"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:54.968630" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:54.966828" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:54.966802" elapsed="0.001896"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.969258" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.968845" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.969799" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:54.969449" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:54.969874" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:54.970053" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:54.966318" elapsed="0.003760"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:54.970250" elapsed="0.000415"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.949245" elapsed="0.021484"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.978579" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:54.978230" elapsed="0.000376"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:54.989758" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:54.991169" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:54.991877" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:54.978735" elapsed="0.013205"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.992917" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.992340" elapsed="0.000680"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:54.999184" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:54.993377" elapsed="0.007023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.003017" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.000502" elapsed="0.002585"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.000474" elapsed="0.002645"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.030366" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.030417" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.003340" elapsed="0.027101"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.032315" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.030544" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.030522" elapsed="0.001877"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.032434" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:55.032637" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.032682" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:54.977851" elapsed="0.054854"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.034931" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.033298" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.033279" elapsed="0.001722"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.035595" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.035151" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.036142" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.035787" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.036217" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:55.036415" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.032936" elapsed="0.003504"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.036599" elapsed="0.000395"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:54.977220" elapsed="0.059837"/>
</kw>
<arg>f18.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:54.931247" elapsed="0.105867"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:54.924302" elapsed="0.112946"/>
</test>
<test id="s1-s3-s2-t17" name="Test Is Flow 19 Added" line="80">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.048118" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.048405" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.047973" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.048990" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2110&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.048592" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.049481" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.049171" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.049930" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.049661" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.050392" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.050106" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.051154" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.050585" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.051693" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.051359" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.052287" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.051946" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.052818" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.052484" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.053349" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.053013" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.053867" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.053548" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.054403" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2110&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.054065" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.047637" elapsed="0.006894"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.055067" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.054682" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.055506" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.055264" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.063492" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.063167" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.069404" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.069597" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.069694" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.063650" elapsed="0.006069"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.070134" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.069881" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.072362" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.070343" elapsed="0.002070"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.074255" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.072488" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.072467" elapsed="0.001887"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.074539" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.074811" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.074633" elapsed="0.000232"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.074617" elapsed="0.000273"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.074923" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:55.076993" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.077057" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.062847" elapsed="0.014242"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.080112" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.077874" elapsed="0.002303"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.077849" elapsed="0.002360"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.080997" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.080439" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.081772" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.081279" elapsed="0.000530"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.081878" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:55.082127" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.077406" elapsed="0.004755"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.082402" elapsed="0.000569"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.062254" elapsed="0.020806"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.092180" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.091869" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.103882" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.105286" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.106009" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.092354" elapsed="0.013719"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.107169" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.106540" elapsed="0.000775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.114499" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.107669" elapsed="0.007666"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.117186" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.115419" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.115396" elapsed="0.001883"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.198333" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.198400" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.117424" elapsed="0.081011"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.200415" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.198561" elapsed="0.001915"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.198532" elapsed="0.001972"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.200541" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:36:55.200760" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.200804" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.091486" elapsed="0.109342"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.203116" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.201476" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.201444" elapsed="0.001741"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.203828" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.203360" elapsed="0.000496"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.204396" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.204020" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.204471" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.204656" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.201078" elapsed="0.003603"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.204841" elapsed="0.000431"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.090842" elapsed="0.114495"/>
</kw>
<arg>f19.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.044330" elapsed="0.161066"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.037447" elapsed="0.168072"/>
</test>
<test id="s1-s3-s2-t18" name="Test Is Flow 20 Added" line="82">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.216564" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.216732" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.216409" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.217334" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2890&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.216915" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.217798" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.217515" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.218260" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.217975" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.218877" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.218572" elapsed="0.000332"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.219724" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.219059" elapsed="0.000697"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.220280" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.219917" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.220879" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.220546" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.221435" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.221076" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.221946" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.221631" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.222527" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.222149" elapsed="0.000431"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.223212" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2890&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.222734" elapsed="0.000541"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.215988" elapsed="0.007345"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.223883" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.223488" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.224347" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.224066" elapsed="0.000340"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.232155" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.231844" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.238224" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.238448" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.238593" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.232330" elapsed="0.006300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.239455" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.238911" elapsed="0.000613"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.242733" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.239731" elapsed="0.003077"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.245487" elapsed="0.000049"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.242926" elapsed="0.002669"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.242891" elapsed="0.002740"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.245840" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.246170" elapsed="0.000137"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.245968" elapsed="0.000392"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.245945" elapsed="0.000556"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.246584" elapsed="0.000024"/>
</return>
<msg time="2026-05-25T00:36:55.248551" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.248599" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.231525" elapsed="0.017099"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.250925" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.249257" elapsed="0.001715"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.249218" elapsed="0.001777"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.251602" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.251158" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.252143" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.251792" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.252218" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:36:55.252416" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.248870" elapsed="0.003572"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.252599" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.230948" elapsed="0.022114"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.264566" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.263856" elapsed="0.000769"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.274261" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.274912" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.275286" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.264915" elapsed="0.010401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.275852" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.275540" elapsed="0.000360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.278748" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.276044" elapsed="0.003484"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.282131" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.279646" elapsed="0.002559"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.279614" elapsed="0.002642"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.305864" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.305912" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.282477" elapsed="0.023458"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.307769" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.306015" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.305996" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.307886" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:55.308097" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.308142" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.262981" elapsed="0.045184"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.310407" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.308776" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.308758" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.311073" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.310654" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.311645" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.311283" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.311721" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.311902" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.308422" elapsed="0.003506"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.312087" elapsed="0.000416"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.261545" elapsed="0.051022"/>
</kw>
<arg>f20.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.212696" elapsed="0.099929"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.205721" elapsed="0.107027"/>
</test>
<test id="s1-s3-s2-t19" name="Test Is Flow 21 Added" line="84">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.323818" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.323980" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.323673" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.324613" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb1f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.324161" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.325079" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.324795" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.325549" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.325275" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.325998" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.325725" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.326915" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.326177" elapsed="0.000768"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.327456" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.327105" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.328021" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.327695" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.328560" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.328215" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.329071" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.328755" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.329605" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.329283" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.330122" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb1f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.329802" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.323342" elapsed="0.006877"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.330807" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.330421" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.331230" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.330988" elapsed="0.000323"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.341311" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.340978" elapsed="0.000361"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.347092" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.347284" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.347403" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.341472" elapsed="0.005957"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.347854" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.347595" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.350065" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.348047" elapsed="0.002073"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.352264" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.350197" elapsed="0.002225"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.350175" elapsed="0.002287"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.352666" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.352983" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.352795" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.352772" elapsed="0.000316"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.353133" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:55.355496" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.355561" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.340658" elapsed="0.014935"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.358676" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.356386" elapsed="0.002357"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.356360" elapsed="0.002414"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.359570" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.358981" elapsed="0.000628"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.360361" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.359840" elapsed="0.000560"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.360471" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:36:55.360730" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.355894" elapsed="0.004872"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.360988" elapsed="0.000575"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.340052" elapsed="0.021603"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.369978" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.369675" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.380491" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.381271" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.381608" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.370137" elapsed="0.011498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.382155" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.381851" elapsed="0.000351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.385166" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.382379" elapsed="0.003570"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.387822" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.386030" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.386007" elapsed="0.001890"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.410203" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.410265" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.388038" elapsed="0.022254"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.412121" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.410386" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.410367" elapsed="0.001837"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.412252" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:55.412461" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.412507" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.369291" elapsed="0.043239"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.414745" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.413108" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.413089" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.415396" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.414968" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.415949" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.415594" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.416026" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.416207" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.412761" elapsed="0.003486"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.416409" elapsed="0.000401"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.368651" elapsed="0.048222"/>
</kw>
<arg>f21.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.320041" elapsed="0.096892"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.313080" elapsed="0.103976"/>
</test>
<test id="s1-s3-s2-t20" name="Test Is Flow 22 Added" line="86">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.428131" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.428342" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.427986" elapsed="0.000387"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.428956" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d15d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.428527" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.429437" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.429138" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.429886" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.429617" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.430360" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.430061" elapsed="0.000326"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.431263" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.430537" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.431794" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.431454" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.432370" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.432029" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.432897" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.432568" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.433422" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.433091" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.433939" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.433619" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.434487" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d15d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.434137" elapsed="0.000392"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.427655" elapsed="0.006930"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.435118" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.434737" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.435560" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.435318" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.443534" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.443206" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.448638" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.448758" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.448856" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.443693" elapsed="0.005189"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.449326" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.449045" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.451520" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.449518" elapsed="0.002059"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.453412" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.451649" elapsed="0.001862"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.451629" elapsed="0.001914"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.453690" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.453919" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.453783" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.453766" elapsed="0.000230"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.454029" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:55.455691" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.455738" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.442888" elapsed="0.012874"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.457914" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.456324" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.456306" elapsed="0.001678"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.458582" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.458132" elapsed="0.000478"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.459132" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.458775" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.459208" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:55.459408" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.455974" elapsed="0.003460"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.459592" elapsed="0.000390"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.442310" elapsed="0.017736"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.467896" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.467597" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.479111" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.479686" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.479971" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.468054" elapsed="0.011944"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.480439" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.480161" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.483426" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.480639" elapsed="0.003542"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.486066" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.484268" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.484248" elapsed="0.001894"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.511044" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.511093" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.486296" elapsed="0.024822"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.512986" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.511201" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.511181" elapsed="0.001890"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.513105" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:55.513329" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.513374" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.467198" elapsed="0.046199"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.515639" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.513979" elapsed="0.001707"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.513961" elapsed="0.001748"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.516308" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.515862" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.516855" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.516502" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.516932" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.517114" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.513630" elapsed="0.003509"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.517313" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.466573" elapsed="0.051203"/>
</kw>
<arg>f22.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.424354" elapsed="0.093480"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.417388" elapsed="0.100569"/>
</test>
<test id="s1-s3-s2-t21" name="Test Is Flow 23 Added" line="88">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.529264" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.529431" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.529102" elapsed="0.000358"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.530059" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.529621" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.530588" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.530257" elapsed="0.000358"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.531037" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.530767" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.531501" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.531213" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.532441" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.531678" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.532967" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.532631" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.533562" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.533219" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.534189" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.533862" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.534735" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.534419" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.535275" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.534932" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.535800" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.535476" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.528766" elapsed="0.007133"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.536452" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.536050" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.536883" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.536639" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.545066" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.544758" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.550639" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.550772" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.550869" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.545224" elapsed="0.005671"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.551336" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.551056" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.553510" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.551526" elapsed="0.002036"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.555422" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.553637" elapsed="0.001890"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.553616" elapsed="0.001938"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.555698" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.555926" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.555791" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.555774" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.556035" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:55.557683" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.557729" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.544434" elapsed="0.013318"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.559923" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.558337" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.558319" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.560564" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.560140" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.561106" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.560754" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.561182" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.561380" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.557969" elapsed="0.003437"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.561562" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.543852" elapsed="0.018164"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.569915" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.569611" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.581249" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.581830" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.582116" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.570073" elapsed="0.012071"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.582618" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.582346" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.585410" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.582811" elapsed="0.003355"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.588047" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.586255" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.586220" elapsed="0.001901"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.612283" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.612342" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.588276" elapsed="0.024091"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.614318" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.612473" elapsed="0.001906"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.612447" elapsed="0.001959"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.614443" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:36:55.614661" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.614707" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.569212" elapsed="0.045518"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.616944" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.615347" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.615329" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.617618" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.617164" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.618163" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.617810" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.618271" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:55.618456" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.614977" elapsed="0.003504"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.618641" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.568587" elapsed="0.050522"/>
</kw>
<arg>f23.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.525394" elapsed="0.093774"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.518285" elapsed="0.101021"/>
</test>
<test id="s1-s3-s2-t22" name="Test Is Flow 24 Added" line="90">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.630404" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.630605" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.630228" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.631192" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de110&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.630788" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.631670" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.631389" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.632119" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.631850" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.632586" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.632310" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.633336" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.632763" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.633971" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.633523" elapsed="0.000490"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.634609" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.634227" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.635138" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.634809" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.635668" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.635351" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.636188" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.635868" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.636729" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de110&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.636405" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.629896" elapsed="0.006932"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.637378" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.636979" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.637804" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.637562" elapsed="0.000299"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.645788" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.645479" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.651643" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.651782" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.651880" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.645947" elapsed="0.005959"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.652347" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.652068" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.654531" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.652538" elapsed="0.002045"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.656411" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.654654" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.654634" elapsed="0.001871"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.656646" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.656873" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.656738" elapsed="0.000220"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.656721" elapsed="0.000263"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.657018" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:55.658683" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.658729" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.645141" elapsed="0.013612"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.660912" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.659318" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.659300" elapsed="0.001681"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.661546" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.661130" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.662087" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.661736" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.662164" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.662391" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.658967" elapsed="0.003450"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.662577" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.644577" elapsed="0.018456"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.670874" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.670573" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.682870" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.683467" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.683763" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.671032" elapsed="0.012758"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.684222" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.683959" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.687026" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.684431" elapsed="0.003365"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.689640" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.687869" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.687849" elapsed="0.001864"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.711542" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.711589" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.689855" elapsed="0.021758"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.713437" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.711694" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.711675" elapsed="0.001844"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.713553" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:55.713755" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.713799" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.670168" elapsed="0.043654"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.716021" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.714422" elapsed="0.001644"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.714404" elapsed="0.001685"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.716671" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.716255" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.717218" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.716863" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.717311" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.717493" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.714048" elapsed="0.003471"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.717677" elapsed="0.000394"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.669551" elapsed="0.048583"/>
</kw>
<arg>f24.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.626616" elapsed="0.091577"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.619628" elapsed="0.098719"/>
</test>
<test id="s1-s3-s2-t23" name="Test Is Flow 25 Added" line="92">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.729337" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.729498" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.729176" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.730121" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.729683" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.730624" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.730338" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.731072" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.730803" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.731535" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.731263" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.732485" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.731711" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.733008" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.732675" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.733592" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.733264" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.734114" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.733787" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.734666" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.734349" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.735181" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.734863" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.735719" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.735395" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.728842" elapsed="0.006974"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.736369" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.735966" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.738814" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.736551" elapsed="0.002330"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.746637" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.746328" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.753164" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.753320" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.753431" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.746795" elapsed="0.006662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.753874" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.753619" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.756052" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.754061" elapsed="0.002042"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.757974" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.756176" elapsed="0.001872"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.756155" elapsed="0.001918"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.758267" elapsed="0.000025"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.758498" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.758363" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.758346" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.758605" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:55.760255" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.760302" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.745959" elapsed="0.014366"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.762504" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.760877" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.760859" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.763126" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.762724" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.763683" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.763330" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.763758" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.763937" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.760543" elapsed="0.003419"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.764118" elapsed="0.000410"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.745394" elapsed="0.019198"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.772423" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.772105" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.783024" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.783609" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.783891" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.772584" elapsed="0.011334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.784358" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.784081" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.787188" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.784554" elapsed="0.003439"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.789849" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.788065" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.788045" elapsed="0.001877"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.811959" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.812008" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.790066" elapsed="0.021966"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.814012" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.812116" elapsed="0.001954"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.812097" elapsed="0.001998"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.814130" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:36:55.814374" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.814418" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.771728" elapsed="0.042713"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.816635" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.815022" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.815004" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.817300" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.816854" elapsed="0.000475"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.817856" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.817493" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.817933" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.818117" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.814677" elapsed="0.003465"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.818334" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.771092" elapsed="0.047706"/>
</kw>
<arg>f25.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.725534" elapsed="0.093322"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.718537" elapsed="0.100441"/>
</test>
<test id="s1-s3-s2-t24" name="Test Is Flow 31 Added" line="94">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.830046" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.830246" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.829903" elapsed="0.000374"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.830843" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d70b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.830432" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.831322" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.831023" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.831776" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.831502" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.832224" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.831953" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.833058" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.832418" elapsed="0.000671"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.833601" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.833262" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.834204" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.833849" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.834755" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.834421" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.835288" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.834952" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.835809" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.835486" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.836349" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d70b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.836008" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.829572" elapsed="0.006876"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.836986" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.836600" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.837429" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.837169" elapsed="0.000320"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.845435" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.845111" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.850639" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.850767" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.850865" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.845595" elapsed="0.005297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.851339" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.851055" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.853574" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.851531" elapsed="0.002096"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.855528" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.853699" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.853679" elapsed="0.001947"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.855770" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.856037" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.855899" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.855881" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.856147" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:55.857834" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.857880" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.844790" elapsed="0.013114"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.860120" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.858488" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.858470" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.860753" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.860352" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.861311" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.860943" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.861388" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.861569" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.858116" elapsed="0.003479"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.861753" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.844210" elapsed="0.018054"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.870261" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.869927" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.880533" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.881094" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.881394" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.870421" elapsed="0.011001"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.881841" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.881585" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.884631" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.882032" elapsed="0.003375"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.887281" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.885480" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.885460" elapsed="0.001894"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.911716" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:55.911780" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.887495" elapsed="0.024312"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.913728" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.911917" elapsed="0.001869"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.911891" elapsed="0.001920"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:55.913845" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.914047" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:55.914091" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.869546" elapsed="0.044568"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.916360" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.914739" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.914720" elapsed="0.001709"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.916990" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.916576" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.917549" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.917179" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.917625" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:55.917804" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.914391" elapsed="0.003438"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.918104" elapsed="0.000430"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.868912" elapsed="0.049685"/>
</kw>
<arg>f31.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.826297" elapsed="0.092357"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.819342" elapsed="0.099429"/>
</test>
<test id="s1-s3-s2-t25" name="Test Is Flow 36 Added" line="96">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:55.930113" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:55.930327" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:55.929972" elapsed="0.000385"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:55.930923" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb79b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:55.930512" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.931400" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.931104" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.931853" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.931584" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:55.932314" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:55.932031" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:55.933095" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:55.932491" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.933631" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.933297" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.934230" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.933886" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.934777" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.934442" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.935300" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.934970" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.935815" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.935497" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.936355" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb79b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:55.936011" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:55.929641" elapsed="0.006812"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.936981" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.936601" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.937421" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.937161" elapsed="0.000320"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.945432" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.945111" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.950628" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.950750" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:55.950847" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.945591" elapsed="0.005281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.951308" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.951032" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.953474" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.951499" elapsed="0.002026"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:55.955373" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:36:55.953595" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.953576" elapsed="0.001889"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:55.955612" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:55.955882" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:55.955743" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:55.955725" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.955991" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:55.957639" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:55.957685" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.944791" elapsed="0.012917"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.959883" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.958295" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.958276" elapsed="0.001675"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.960511" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.960097" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.961048" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:55.960699" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:55.961123" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:55.961320" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:55.957917" elapsed="0.003428"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:55.961501" elapsed="0.000384"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.944214" elapsed="0.017733"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.969802" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:55.969499" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:55.980846" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:55.981408" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:55.981699" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:55.969957" elapsed="0.011768"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.982161" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.981887" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:55.984918" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:55.982370" elapsed="0.003328"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:55.987569" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:55.985771" elapsed="0.001848"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:55.985751" elapsed="0.001891"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.009920" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.009968" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:55.987785" elapsed="0.022207"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.011843" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.010072" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.010053" elapsed="0.001871"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.011958" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.012155" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.012200" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:55.969101" elapsed="0.043121"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.014442" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.012800" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.012782" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.015061" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.014656" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.015622" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.015267" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.015697" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.015875" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.012458" elapsed="0.003443"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.016058" elapsed="0.000401"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:55.968482" elapsed="0.048041"/>
</kw>
<arg>f36.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:55.926210" elapsed="0.090370"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:55.919182" elapsed="0.097512"/>
</test>
<test id="s1-s3-s2-t26" name="Test Is Flow 38 Added" line="98">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.027804" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.027943" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.027665" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.028547" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8900&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.028126" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.029006" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.028729" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.029480" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.029191" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.029927" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.029658" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.030766" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.030125" elapsed="0.000672"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.031300" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.030954" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.031869" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.031538" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.032412" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.032067" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.032922" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.032607" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.033453" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.033118" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.033969" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8900&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.033650" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.027329" elapsed="0.006736"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.034797" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.034385" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.035221" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.034980" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.043230" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.042915" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.048033" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.048158" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.048277" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.043408" elapsed="0.004897"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.048729" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.048469" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.050934" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.048922" elapsed="0.002063"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.052836" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.051058" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.051038" elapsed="0.001891"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.053072" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.053366" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.053211" elapsed="0.000209"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.053193" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.053478" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:56.055163" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.055210" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.042584" elapsed="0.012668"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.057417" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.055804" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.055787" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.058034" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.057636" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.058616" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.058260" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.058693" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.058872" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.055469" elapsed="0.003429"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.059057" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.041989" elapsed="0.017536"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.067363" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.067048" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.078047" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.078644" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.078929" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.067520" elapsed="0.011436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.079392" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.079118" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.082155" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.079587" elapsed="0.003342"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.084771" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.083001" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.082982" elapsed="0.001861"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.106135" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.106184" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.084985" elapsed="0.021223"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.108941" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.107202" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.107182" elapsed="0.001840"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.109056" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.109269" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.109315" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.066663" elapsed="0.042675"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.111537" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.109892" elapsed="0.001692"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.109874" elapsed="0.001733"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.112162" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.111756" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.112731" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.112375" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.112806" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.112987" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.109556" elapsed="0.003457"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.113170" elapsed="0.000413"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.065996" elapsed="0.047650"/>
</kw>
<arg>f38.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.024000" elapsed="0.089703"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.016958" elapsed="0.096866"/>
</test>
<test id="s1-s3-s2-t27" name="Test Is Flow 43 Added" line="100">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.124941" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.125107" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.124799" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.125830" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355a30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.125307" elapsed="0.000552"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.126340" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.126015" elapsed="0.000353"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.126796" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.126521" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.127262" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.126974" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.128114" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.127443" elapsed="0.000701"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.128657" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.128318" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.129230" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.128902" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.129777" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.129445" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.130326" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.129974" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.130854" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.130528" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.131401" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355a30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.131055" elapsed="0.000389"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.124464" elapsed="0.007036"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.132041" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.131654" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.132489" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.132227" elapsed="0.000324"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.142118" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.141800" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.147730" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.147848" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.147954" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.142291" elapsed="0.005689"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.148420" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.148139" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.150602" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.148614" elapsed="0.002039"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.152487" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.150724" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.150704" elapsed="0.001874"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.152720" elapsed="0.000051"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.152979" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.152843" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.152826" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.153087" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:56.154757" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.154803" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.141481" elapsed="0.013346"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.156984" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.155387" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.155369" elapsed="0.001685"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.157618" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.157200" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.158178" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.157808" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.158271" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.158453" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.155038" elapsed="0.003441"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.158635" elapsed="0.000387"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.140898" elapsed="0.018189"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.166983" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.166681" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.177821" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.178406" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.178710" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.167141" elapsed="0.011596"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.179153" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.178899" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.181906" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.179368" elapsed="0.003334"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.184545" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.182774" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.182755" elapsed="0.001862"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.206099" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.206148" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.184758" elapsed="0.021414"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.207999" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.206272" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.206251" elapsed="0.001830"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.208113" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.208331" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.208376" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.166292" elapsed="0.042107"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.210583" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.208953" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.208935" elapsed="0.001716"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.211202" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.210799" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.211764" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.211411" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.211839" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.212018" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.208618" elapsed="0.003426"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.212200" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.165626" elapsed="0.047040"/>
</kw>
<arg>f43.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.121129" elapsed="0.091594"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.114208" elapsed="0.098631"/>
</test>
<test id="s1-s3-s2-t28" name="Test Is Flow 45 Added" line="102">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.223795" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.223943" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.223653" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.224551" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb330&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.224125" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.225012" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.224732" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.225484" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.225191" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.225931" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.225661" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.226757" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.226126" elapsed="0.000662"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.227292" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.226946" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.227874" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.227541" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.228426" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.228072" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.228947" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.228626" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.229491" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.229148" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.230017" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb330&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.229693" elapsed="0.000410"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.223322" elapsed="0.006837"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.230719" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.230331" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.231145" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.230904" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.239311" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.238982" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.245046" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.245167" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.245292" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.239474" elapsed="0.005846"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.245741" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.245486" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.247944" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.245933" elapsed="0.002063"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.249846" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.248068" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.248049" elapsed="0.001890"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.250109" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.250361" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.250210" elapsed="0.000238"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.250186" elapsed="0.000287"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.250506" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:56.252144" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.252190" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.238656" elapsed="0.013558"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.254411" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.252784" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.252766" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.255029" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.254628" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.255593" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.255220" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.255670" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:56.255848" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.252441" elapsed="0.003432"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.256030" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.238074" elapsed="0.018428"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.264899" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.264583" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.276347" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.276905" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.277189" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.265066" elapsed="0.012149"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.277656" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.277401" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.280440" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.277845" elapsed="0.003351"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.283086" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.281284" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.281263" elapsed="0.001896"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.306184" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.306244" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.283313" elapsed="0.022957"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.308092" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.306351" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.306332" elapsed="0.001842"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.308207" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:56.308422" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.308467" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.264183" elapsed="0.044306"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.310686" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.309048" elapsed="0.001686"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.309030" elapsed="0.001727"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.311336" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.310908" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.311887" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.311530" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.311963" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.312144" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.308709" elapsed="0.003461"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.312345" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.263288" elapsed="0.049513"/>
</kw>
<arg>f45.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.220009" elapsed="0.092851"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.213114" elapsed="0.099864"/>
</test>
<test id="s1-s3-s2-t29" name="Test Is Flow 101 Added" line="104">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.323932" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.324107" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.323788" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.324901" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.324307" elapsed="0.000623"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.325379" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.325082" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.325827" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.325557" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.326311" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.326024" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.327217" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.326488" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.327764" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.327424" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.328351" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.328007" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.328876" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.328547" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.329401" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.329069" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.329921" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.329599" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.330497" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.330155" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.323453" elapsed="0.007142"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.331132" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.330748" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.331574" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.331331" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.339743" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.339434" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.346423" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.346553" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.346651" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.339901" elapsed="0.006776"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.347094" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.346839" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.349287" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.347302" elapsed="0.002037"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.351279" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.349450" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.349428" elapsed="0.001949"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.351520" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.351749" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.351613" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.351596" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.351858" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:56.353511" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.353558" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.339089" elapsed="0.014492"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.355750" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.354149" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.354131" elapsed="0.001690"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.356387" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.355969" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.356936" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.356580" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.357012" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:56.357193" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.353797" elapsed="0.003421"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.357392" elapsed="0.000390"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.338513" elapsed="0.019332"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.365686" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.365384" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.376064" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.376685" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.376968" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.365841" elapsed="0.011155"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.377433" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.377158" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.380271" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.377630" elapsed="0.003404"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.382907" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.381106" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.381086" elapsed="0.001895"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.405156" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.405204" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.383124" elapsed="0.022105"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.407095" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.405335" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.405315" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.407212" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:56.407428" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.407473" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.364990" elapsed="0.042507"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.409687" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.408055" elapsed="0.001678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.408037" elapsed="0.001719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.410367" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.409907" elapsed="0.000488"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.410925" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.410562" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.411003" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.411183" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.407715" elapsed="0.003494"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.411383" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.364372" elapsed="0.047467"/>
</kw>
<arg>f101.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.320121" elapsed="0.091775"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.313166" elapsed="0.098854"/>
</test>
<test id="s1-s3-s2-t30" name="Test Is Flow 102 Added" line="106">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.423179" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.423358" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.423032" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.423985" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.423544" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.424470" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.424167" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.425066" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.424649" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.425529" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.425257" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.426514" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.425704" elapsed="0.000840"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.427041" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.426705" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.427632" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.427301" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.428158" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.427830" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.428693" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.428369" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.429212" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.428891" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.429911" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.429429" elapsed="0.000542"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.422701" elapsed="0.007328"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.430588" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.430181" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.431014" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.430771" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.438903" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.438594" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.444090" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.444219" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.444342" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.439062" elapsed="0.005306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.444785" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.444531" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.446985" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.444977" elapsed="0.002060"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.448917" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.447145" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.447122" elapsed="0.001892"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.449159" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.449404" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.449266" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.449248" elapsed="0.000234"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.449514" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:36:56.451179" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.451226" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.438262" elapsed="0.013001"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.453424" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.451817" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.451799" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.454081" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.453641" elapsed="0.000468"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.454653" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.454290" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.454730" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.454910" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.451479" elapsed="0.003457"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.455094" elapsed="0.000409"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.437668" elapsed="0.017900"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.463457" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.463135" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.473155" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.473747" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.474085" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.463615" elapsed="0.010497"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.474564" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.474293" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.477352" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.474755" elapsed="0.003365"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.479979" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.478195" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.478174" elapsed="0.001878"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.501099" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.501148" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.480195" elapsed="0.020978"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.503037" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.501281" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.501256" elapsed="0.001865"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.503154" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:36:56.503379" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.503431" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.462750" elapsed="0.040705"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.505639" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.504025" elapsed="0.001661"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.504007" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.506314" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.505859" elapsed="0.000483"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.506861" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.506506" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.506937" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.507117" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.503684" elapsed="0.003459"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.507317" elapsed="0.000397"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.462110" elapsed="0.045668"/>
</kw>
<arg>f102.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.419359" elapsed="0.088479"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.412353" elapsed="0.095610"/>
</test>
<test id="s1-s3-s2-t31" name="Test Is Flow 103 Added" line="108">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.518876" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.519036" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.518732" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.519671" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fd30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.519220" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.520134" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.519853" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.520606" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.520328" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.521054" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.520783" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.522059" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.521230" elapsed="0.000861"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.522610" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.522270" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.523203" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.522868" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.523758" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.523420" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.524289" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.523954" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.524812" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.524490" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.527438" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fd30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.525012" elapsed="0.002472"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.518399" elapsed="0.009143"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.528095" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.527699" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.528546" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.528299" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.536541" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.536218" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.541800" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.541973" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.542083" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.536699" elapsed="0.005410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.542550" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.542295" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.544716" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.542739" elapsed="0.002028"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.546696" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.544887" elapsed="0.001882"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.544864" elapsed="0.001931"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.546939" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.547169" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.547033" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.547016" elapsed="0.000246"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.547297" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:56.548936" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.548982" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.535900" elapsed="0.013106"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.551494" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.549570" elapsed="0.001989"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.549552" elapsed="0.002038"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.552376" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.551795" elapsed="0.000619"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.553130" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.552640" elapsed="0.000527"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.553255" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:36:56.553512" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.549219" elapsed="0.004327"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.553764" elapsed="0.000595"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.535331" elapsed="0.019118"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.564627" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.564322" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.575576" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.576414" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.576809" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.564783" elapsed="0.012062"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.577447" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.577070" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.581378" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.577712" elapsed="0.004771"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.585069" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.582585" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.582558" elapsed="0.002612"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.609473" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.609521" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.585387" elapsed="0.024158"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.611389" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.609625" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.609606" elapsed="0.001866"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.611506" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:36:56.611706" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.611751" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.563931" elapsed="0.047844"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.613972" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.612347" elapsed="0.001673"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.612329" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.614610" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.614191" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.615154" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.614800" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.615229" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:36:56.615426" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.611993" elapsed="0.003459"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.615609" elapsed="0.000386"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.563306" elapsed="0.052752"/>
</kw>
<arg>f103.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.515106" elapsed="0.101009"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.508167" elapsed="0.108098"/>
</test>
<test id="s1-s3-s2-t32" name="Test Is Flow 104 Added" line="110">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.627309" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.627469" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.627150" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.628101" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10630&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.627662" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.628587" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.628302" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.629038" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.628767" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.629502" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.629215" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.630477" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.629680" elapsed="0.000828"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.631009" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.630672" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.631606" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.631279" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.632127" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.631801" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.632668" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.632337" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.633206" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.632888" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.633740" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10630&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.633420" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.626816" elapsed="0.007022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.634410" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.634009" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.634836" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.634594" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.642881" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.642567" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.647933" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.648058" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.648156" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.643040" elapsed="0.005143"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.648625" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.648366" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.650947" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.648817" elapsed="0.002203"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.653663" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.651165" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.651135" elapsed="0.002661"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.654016" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.654357" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.654148" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.654123" elapsed="0.000343"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.654511" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:56.656812" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.656878" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.642228" elapsed="0.014683"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.659941" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.657694" elapsed="0.002313"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.657669" elapsed="0.002371"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.660825" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.660263" elapsed="0.000600"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.661610" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.661092" elapsed="0.000555"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.661717" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:56.662008" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.657206" elapsed="0.004839"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.662285" elapsed="0.000480"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.641624" elapsed="0.021206"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.670642" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.670334" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.681274" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.682151" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.682801" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.670801" elapsed="0.012061"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.683823" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.683224" elapsed="0.000701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.690272" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.684277" elapsed="0.006939"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.693073" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.691302" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.691282" elapsed="0.001864"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.760138" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.760203" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.693303" elapsed="0.066926"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.762245" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.760366" elapsed="0.001942"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.760336" elapsed="0.001998"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.762372" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:56.762591" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.762636" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.669938" elapsed="0.092721"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.764898" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.763284" elapsed="0.001661"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.763264" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.765603" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.765124" elapsed="0.000508"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.766190" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.765798" elapsed="0.000419"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.766283" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:56.766468" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.762907" elapsed="0.003587"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.766656" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.669296" elapsed="0.097830"/>
</kw>
<arg>f104.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.623516" elapsed="0.143670"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.616571" elapsed="0.150753"/>
</test>
<test id="s1-s3-s2-t33" name="Test Is Flow 105 Added" line="112">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.778441" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.778609" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.778295" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.779222" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d52b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.778793" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.779709" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.779422" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.780158" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.779889" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.780623" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.780351" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.781681" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.780800" elapsed="0.000913"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.782227" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.781888" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.782862" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.782525" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.783407" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.783061" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.783923" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.783604" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.784463" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.784122" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.784992" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d52b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.784664" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.777948" elapsed="0.007143"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.785648" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.785257" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.786102" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.785854" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.793963" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.793631" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.799633" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.799808" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.799946" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.794123" elapsed="0.005859"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.800597" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.800209" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.803670" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.800864" elapsed="0.002879"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.806423" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.803907" elapsed="0.002611"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.803877" elapsed="0.002676"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.806752" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.807069" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.806881" elapsed="0.000260"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.806857" elapsed="0.000317"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.807219" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:56.809533" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.809597" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.793311" elapsed="0.016319"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.812093" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.810456" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.810431" elapsed="0.001731"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.812722" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.812323" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.813279" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.812910" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.813356" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.813536" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.809966" elapsed="0.003595"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.813726" elapsed="0.000406"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.792732" elapsed="0.021464"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.822045" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.821712" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.832483" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.833743" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.834461" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.822201" elapsed="0.012320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.835487" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.834880" elapsed="0.000713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.841409" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.835914" elapsed="0.006960"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.844714" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.842948" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.842928" elapsed="0.001858"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.866484" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.866532" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.844925" elapsed="0.021631"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.868454" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.866635" elapsed="0.001877"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.866616" elapsed="0.001922"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.868572" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.868771" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.868817" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.821333" elapsed="0.047508"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.871045" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.869420" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.869401" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.871690" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.871281" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.872254" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.871883" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.872333" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:56.872516" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.869061" elapsed="0.003481"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.872701" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.820699" elapsed="0.052460"/>
</kw>
<arg>f105.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.774637" elapsed="0.098581"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.767686" elapsed="0.105691"/>
</test>
<test id="s1-s3-s2-t34" name="Test Is Flow 106 Added" line="114">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.884338" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.884486" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.884180" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.885090" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcd60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.884668" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.885570" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.885286" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.886034" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.885749" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.886495" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.886210" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.887404" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.886672" elapsed="0.000763"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.887965" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.887602" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.888553" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.888205" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.889115" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.888785" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.889643" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.889325" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.890196" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.889874" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.890740" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcd60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.890411" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.883852" elapsed="0.006986"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.891385" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.890987" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.891809" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.891569" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.899808" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.899501" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.904625" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.904745" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:56.904842" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.899971" elapsed="0.004896"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.905309" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.905030" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.907495" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.905502" elapsed="0.002044"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:56.909411" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:36:56.907656" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.907635" elapsed="0.001867"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:56.909652" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.909920" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.909745" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:56.909728" elapsed="0.000269"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.910030" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:56.912100" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:56.912165" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.899160" elapsed="0.013037"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.915221" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.912973" elapsed="0.002333"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.912948" elapsed="0.002390"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.916122" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.915566" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.916906" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.916416" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.917011" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:56.917291" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.912511" elapsed="0.004818"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.917547" elapsed="0.000556"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.898593" elapsed="0.019597"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.927279" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:56.926965" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:56.938215" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:56.938988" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:56.939397" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:56.927437" elapsed="0.011997"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.940015" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.939661" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.944027" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.940299" elapsed="0.004829"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.947751" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.945230" elapsed="0.002591"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.945203" elapsed="0.002649"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.972043" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:56.972091" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:56.948047" elapsed="0.024068"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:56.973961" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:56.972200" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.972180" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:56.974077" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:56.974292" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:56.974337" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:56.926589" elapsed="0.047771"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:56.976516" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:56.974908" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:56.974890" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.977142" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.976732" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.977701" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.977347" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:56.977791" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:56.977987" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:56.974575" elapsed="0.003438"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:56.978171" elapsed="0.000430"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:56.925957" elapsed="0.052707"/>
</kw>
<arg>f106.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.880574" elapsed="0.098147"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.873672" elapsed="0.105162"/>
</test>
<test id="s1-s3-s2-t35" name="Test Is Flow 107 Added" line="116">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:56.989780" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:56.989919" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:56.989627" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:56.990556" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbdd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:56.990100" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.991020" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.990742" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.991486" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.991198" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:56.991929" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:56.991661" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:56.992881" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:56.992103" elapsed="0.000808"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.993412" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.993068" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.994008" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.993646" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.994552" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.994205" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.995059" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.994745" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.995596" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.995272" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.996302" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbdd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:56.995795" elapsed="0.000552"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:56.989299" elapsed="0.007105"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.996951" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:56.996557" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:56.997398" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:56.997135" elapsed="0.000331"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.005262" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.004935" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.011337" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.011452" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.011549" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.005423" elapsed="0.006152"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.011998" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.011741" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.014207" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.012187" elapsed="0.002120"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.016767" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.014379" elapsed="0.002480"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.014359" elapsed="0.002535"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.017093" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.017437" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.017225" elapsed="0.000286"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.017202" elapsed="0.000343"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.017591" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:57.019899" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.019963" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.004613" elapsed="0.015383"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.023043" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.020779" elapsed="0.002327"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.020753" elapsed="0.002385"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.023926" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.023367" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.024702" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.024190" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.024807" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:57.025055" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.020315" elapsed="0.004775"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.025328" elapsed="0.000580"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.004023" elapsed="0.021975"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.034119" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.033821" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.044386" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.045369" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.046031" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.034292" elapsed="0.011800"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.047056" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.046481" elapsed="0.000678"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.055777" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.047513" elapsed="0.009035"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.058417" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.056625" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.056603" elapsed="0.001888"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.078885" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.078935" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.058638" elapsed="0.020322"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.080771" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.079040" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.079021" elapsed="0.001832"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.080887" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.081085" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.081131" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.033422" elapsed="0.047732"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.083355" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.081743" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.081723" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.083972" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.083571" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.084537" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.084163" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.084613" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.084792" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.081386" elapsed="0.003432"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.084975" elapsed="0.000427"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.032784" elapsed="0.052682"/>
</kw>
<arg>f107.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:56.986008" elapsed="0.099515"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:56.979102" elapsed="0.106536"/>
</test>
<test id="s1-s3-s2-t36" name="Test Is Flow 108 Added" line="118">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.096656" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.096799" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.096518" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.097424" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc9f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.096980" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.097927" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.097603" elapsed="0.000352"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.098396" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.098107" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.098850" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.098573" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.099795" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.099024" elapsed="0.000801"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.100330" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.099981" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.100886" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.100562" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.101428" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.101079" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.101958" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.101621" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.102495" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.102155" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.103013" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc9f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.102692" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.096175" elapsed="0.006933"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.103663" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.103275" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.104261" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.103843" elapsed="0.000488"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.112122" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.111822" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.117156" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.117295" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.117393" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.112295" elapsed="0.005123"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.117874" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.117578" elapsed="0.000342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.120625" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.118067" elapsed="0.002672"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.123344" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.120839" elapsed="0.002598"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.120811" elapsed="0.002660"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.123670" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.123988" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.123799" elapsed="0.000263"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.123776" elapsed="0.000322"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.124144" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:57.126486" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.126552" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.111504" elapsed="0.015082"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.129616" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.127376" elapsed="0.002343"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.127350" elapsed="0.002406"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.130550" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.129967" elapsed="0.000622"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.131112" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.130758" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.131188" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.131387" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.126886" elapsed="0.004527"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.131570" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.110934" elapsed="0.021104"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.139950" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.139651" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.151089" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.151761" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.152418" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.140120" elapsed="0.012359"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.153438" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.152840" elapsed="0.000701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.159671" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;61000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;66000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;566000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;70000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;584000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;583000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;147000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;97000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;602000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;546000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;47000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;551000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;56000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;51000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.153892" elapsed="0.007542"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.163940" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.161600" elapsed="0.002390"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.161555" elapsed="0.002458"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.185354" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.185403" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.164153" elapsed="0.021274"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.187348" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.185517" elapsed="0.001891"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.185497" elapsed="0.001939"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.187469" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.187670" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.187715" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.139265" elapsed="0.048473"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.190062" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.188441" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.188422" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.190695" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.190293" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.191299" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.190885" elapsed="0.000455"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.191392" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:57.191579" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.188088" elapsed="0.003516"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.191762" elapsed="0.000389"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.138578" elapsed="0.053635"/>
</kw>
<arg>f108.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.092840" elapsed="0.099448"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.085923" elapsed="0.106484"/>
</test>
<test id="s1-s3-s2-t37" name="Test Is Flow 109 Added" line="120">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.203496" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.203647" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.203353" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.204285" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2faed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.203829" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.204748" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.204468" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.205196" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.204927" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.205697" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.205398" elapsed="0.000326"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.206663" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.205875" elapsed="0.000818"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.207184" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.206851" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.207773" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.207445" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.208316" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.207971" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.208829" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.208514" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.209362" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.209027" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.210055" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2faed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.209560" elapsed="0.000539"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.203008" elapsed="0.007147"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.210708" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.210324" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.211133" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.210892" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.218978" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.218676" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.223336" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.223467" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.223566" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.219135" elapsed="0.004457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.224006" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.223753" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.226198" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.224195" elapsed="0.002101"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.228777" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.226370" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.226350" elapsed="0.002554"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.229104" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.229443" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.229231" elapsed="0.000286"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.229208" elapsed="0.000343"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.229596" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:57.231890" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.231954" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.218357" elapsed="0.013630"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.235029" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.232777" elapsed="0.002316"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.232752" elapsed="0.002373"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.235905" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.235350" elapsed="0.000593"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.236686" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.236171" elapsed="0.000552"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.236791" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:36:57.237040" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.232306" elapsed="0.004770"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.237316" elapsed="0.000582"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.217785" elapsed="0.020205"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.245985" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.245685" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.257381" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.265117" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.265859" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.246141" elapsed="0.019781"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.266741" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.266318" elapsed="0.000469"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.269351" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.266931" elapsed="0.003186"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.271962" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.270189" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.270169" elapsed="0.001865"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.292742" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.292791" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.272174" elapsed="0.020641"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.294745" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.292895" elapsed="0.001907"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.292876" elapsed="0.001951"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.294861" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.295059" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.295103" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.245283" elapsed="0.049842"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.297311" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.295694" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.295676" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.297976" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.297528" elapsed="0.000475"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.298571" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.298167" elapsed="0.000430"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.298647" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.298827" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.295357" elapsed="0.003496"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.299010" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.244653" elapsed="0.054828"/>
</kw>
<arg>f109.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.199720" elapsed="0.099817"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.192693" elapsed="0.106960"/>
</test>
<test id="s1-s3-s2-t38" name="Test Is Flow 110 Added" line="122">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.310700" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.310858" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.310560" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.311471" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1530&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.311039" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.311932" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.311652" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.312399" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.312110" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.312851" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.312576" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.313743" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.313027" elapsed="0.000748"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.314280" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.313933" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.314845" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.314517" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.315385" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.315040" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.315895" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.315581" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.316428" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.316092" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.316947" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1530&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.316627" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.310214" elapsed="0.006829"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.317593" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.317193" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.318052" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.317809" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.326118" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.325771" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.331333" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.331465" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.331563" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.326293" elapsed="0.005296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.332014" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.331757" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.334258" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.332205" elapsed="0.002106"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.336780" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.334387" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.334365" elapsed="0.002600"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.337169" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.337515" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.337323" elapsed="0.000265"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.337299" elapsed="0.000323"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.337667" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:57.339983" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.340048" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.325452" elapsed="0.014629"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.343009" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.340872" elapsed="0.002183"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.340847" elapsed="0.002231"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.343648" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.343227" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.344188" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.343839" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.344281" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:57.344462" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.340406" elapsed="0.004081"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.344650" elapsed="0.000389"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.324856" elapsed="0.020246"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.352917" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.352617" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.363466" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.364231" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.364655" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.353073" elapsed="0.011620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.365302" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.364921" elapsed="0.000447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.369201" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.365572" elapsed="0.004757"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.372929" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.370433" elapsed="0.002565"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.370405" elapsed="0.002625"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.393554" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.393604" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.373227" elapsed="0.020400"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.395550" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.393709" elapsed="0.001898"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.393689" elapsed="0.001944"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.395668" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:57.395869" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.395915" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.352219" elapsed="0.043719"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.398140" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.396526" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.396507" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.398818" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.398374" elapsed="0.000473"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.399384" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.399012" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.399461" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.399642" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.396161" elapsed="0.003507"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.399828" elapsed="0.000393"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.351598" elapsed="0.048705"/>
</kw>
<arg>f110.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.306882" elapsed="0.093480"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.299923" elapsed="0.100563"/>
</test>
<test id="s1-s3-s2-t39" name="Test Is Flow 113 Added" line="124">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.412036" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.412214" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.411894" elapsed="0.000364"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.412846" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3567f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.412416" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.413330" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.413029" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.413785" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.413510" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.414229" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.413962" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.415212" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.414425" elapsed="0.000833"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.415753" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.415418" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.416358" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.416012" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.416889" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.416555" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.417419" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.417084" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.417938" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.417617" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.418476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3567f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.418136" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.411560" elapsed="0.007012"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.419126" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.418724" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.419741" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.419327" elapsed="0.000481"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.427589" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.427284" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.432825" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.432943" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.433039" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.427750" elapsed="0.005315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.433502" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.433225" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.436516" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.433736" elapsed="0.002852"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.439209" elapsed="0.000081"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.436732" elapsed="0.002615"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.436704" elapsed="0.002679"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.439580" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.439898" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.439713" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.439690" elapsed="0.000314"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.440048" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:57.442362" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.442425" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.426945" elapsed="0.015513"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.444953" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.443271" elapsed="0.001728"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.443227" elapsed="0.001794"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.445583" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.445167" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.446124" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.445776" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.446199" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.446396" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.442753" elapsed="0.003668"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.446577" elapsed="0.000385"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.426354" elapsed="0.020671"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.454829" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.454526" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.465804" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.466583" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.466982" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.454985" elapsed="0.012035"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.467729" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.467273" elapsed="0.000561"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.476478" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.468159" elapsed="0.009102"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.479090" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.477335" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.477315" elapsed="0.001848"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.498907" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.498954" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.479321" elapsed="0.019658"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.500907" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.499057" elapsed="0.001907"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.499038" elapsed="0.001951"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.501023" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.501218" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.501283" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.454129" elapsed="0.047178"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.503495" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.501856" elapsed="0.001685"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.501838" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.504137" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.503735" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.504699" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.504346" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.504775" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.504952" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.501523" elapsed="0.003454"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.505133" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.453516" elapsed="0.052086"/>
</kw>
<arg>f113.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.408251" elapsed="0.097411"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.400763" elapsed="0.105013"/>
</test>
<test id="s1-s3-s2-t40" name="Test Is Flow 201 Added" line="126">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.516804" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.516942" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.516665" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.517552" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.517124" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.518014" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.517737" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.518484" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.518193" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.518933" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.518663" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.519813" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.519110" elapsed="0.000751"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.520366" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.520018" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.520936" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.520607" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.521479" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.521132" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.521991" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.521679" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.522527" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.522189" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.523047" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.522727" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.516329" elapsed="0.006814"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.523700" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.523313" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.524165" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.523923" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.532176" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.531841" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.537088" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.537200" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.537319" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.532351" elapsed="0.004994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.537763" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.537506" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.539935" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.537951" elapsed="0.002035"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.542363" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.540092" elapsed="0.002405"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.540070" elapsed="0.002466"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.542743" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.543061" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.542870" elapsed="0.000263"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.542847" elapsed="0.000320"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.543212" elapsed="0.000025"/>
</return>
<msg time="2026-05-25T00:36:57.545543" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.545607" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.531520" elapsed="0.014120"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.548669" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.546420" elapsed="0.002296"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.546395" elapsed="0.002344"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.549305" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.548886" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.549848" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.549494" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.549923" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.550102" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.545932" elapsed="0.004195"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.550302" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.530948" elapsed="0.019803"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.558586" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.558288" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.568816" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.569596" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.570004" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.558742" elapsed="0.011300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.570649" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.570293" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.574539" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.570916" elapsed="0.004696"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.577757" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.575714" elapsed="0.002092"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.575686" elapsed="0.002143"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.598889" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.598937" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.577969" elapsed="0.020991"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.600896" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.599043" elapsed="0.001910"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.599023" elapsed="0.001956"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.601013" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.601212" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.601273" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.557895" elapsed="0.043402"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.603468" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.601859" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.601840" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.604089" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.603683" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.604650" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.604296" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.604743" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.604923" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.601522" elapsed="0.003426"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.605104" elapsed="0.000415"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.557282" elapsed="0.048300"/>
</kw>
<arg>f201.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.512994" elapsed="0.092644"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.506041" elapsed="0.099714"/>
</test>
<test id="s1-s3-s2-t41" name="Test Is Flow 202 Added" line="128">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.616775" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.616949" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.616636" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.617574" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2aa70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.617132" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.618038" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.617755" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.618509" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.618217" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.618961" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.618691" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.619849" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.619136" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.620395" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.620037" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.620982" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.620635" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.621534" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.621177" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.622054" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.621737" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.622594" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.622271" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.623112" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2aa70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.622792" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.616308" elapsed="0.006901"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.623758" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.623377" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.624355" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.623940" elapsed="0.000479"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.632262" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.631921" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.637532" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.637670" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.637768" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.632426" elapsed="0.005369"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.638213" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.637959" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.640437" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.638424" elapsed="0.002064"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.642761" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.640562" elapsed="0.002350"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.640540" elapsed="0.002410"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.643153" elapsed="0.000035"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.643505" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.643311" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.643287" elapsed="0.000328"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.643665" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:57.646036" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.646100" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.631584" elapsed="0.014549"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.649266" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.646920" elapsed="0.002414"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.646894" elapsed="0.002472"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.649985" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.649571" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.650545" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.650173" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.650622" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.650803" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.646451" elapsed="0.004378"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.650986" elapsed="0.000407"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.630973" elapsed="0.020485"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.659472" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.659151" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.669939" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.670738" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.671129" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.659628" elapsed="0.011538"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.671773" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.671416" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.675682" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.672037" elapsed="0.004722"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.679175" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.676860" elapsed="0.002365"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.676833" elapsed="0.002430"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.699303" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.699351" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.679407" elapsed="0.019969"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.701396" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.699456" elapsed="0.001998"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.699437" elapsed="0.002043"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.701514" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.701744" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.701791" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.658771" elapsed="0.043043"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.703986" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.702389" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.702371" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.704625" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.704202" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.705170" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.704815" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.705264" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:57.705447" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.702029" elapsed="0.003443"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.705629" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.658132" elapsed="0.047970"/>
</kw>
<arg>f202.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.613005" elapsed="0.093153"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.606036" elapsed="0.100260"/>
</test>
<test id="s1-s3-s2-t42" name="Test Is Flow 203 Added" line="130">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.717416" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.717566" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.717270" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.718199" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.717747" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.718686" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.718403" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.719133" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.718864" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.719595" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.719326" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.720482" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.719774" elapsed="0.000738"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.721043" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.720695" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.721630" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.721295" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.722197" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.721852" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.722728" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.722409" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.723413" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.722928" elapsed="0.000534"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.723952" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d2070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.723620" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.716926" elapsed="0.007124"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.724609" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.724200" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.725036" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.724793" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.732859" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.732554" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.737782" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.737899" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.737996" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.733016" elapsed="0.005005"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.738489" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.738209" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.740671" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.738685" elapsed="0.002037"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.742604" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.740793" elapsed="0.001950"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.740773" elapsed="0.002010"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.742983" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.743327" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.743113" elapsed="0.000289"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.743089" elapsed="0.000347"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.743481" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:57.745884" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.745949" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.732220" elapsed="0.013761"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.749880" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.746891" elapsed="0.003066"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.746859" elapsed="0.003135"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.750898" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.750355" elapsed="0.000574"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.751576" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.751132" elapsed="0.000474"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.751662" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:36:57.751868" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.746329" elapsed="0.005567"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.752087" elapsed="0.000480"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.731666" elapsed="0.020978"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.761159" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.760855" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.769439" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.770005" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.770317" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.761335" elapsed="0.009009"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.770787" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.770524" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.773575" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.770978" elapsed="0.003372"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.776229" elapsed="0.000032"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.774424" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.774404" elapsed="0.001917"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.800093" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.800141" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.776464" elapsed="0.023700"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.802012" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.800260" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.800224" elapsed="0.001870"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.802128" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.802345" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.802390" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.760468" elapsed="0.041945"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.804599" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.802986" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.802968" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.805374" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.804821" elapsed="0.000581"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.805922" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.805566" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.805997" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.806178" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.802632" elapsed="0.003571"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.806384" elapsed="0.000389"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.759824" elapsed="0.047041"/>
</kw>
<arg>f203.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.713540" elapsed="0.093384"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.706595" elapsed="0.100451"/>
</test>
<test id="s1-s3-s2-t43" name="Test Is Flow 204 Added" line="132">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.818151" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.818321" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.818007" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.818938" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.818504" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.819421" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.819121" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.819871" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.819599" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.820336" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.820047" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.821210" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.820514" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.821750" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.821415" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.822327" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.821983" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.822850" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.822524" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.823407" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.823072" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.823925" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.823605" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.824461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.824123" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.817677" elapsed="0.006882"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.825091" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.824708" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.825534" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.825290" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.833555" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.833238" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.838278" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.838395" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.838491" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.833717" elapsed="0.004799"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.838931" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.838678" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.841150" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.839154" elapsed="0.002048"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.843051" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.841290" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.841270" elapsed="0.001922"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.843351" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.843581" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.843445" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.843428" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.843689" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:36:57.845332" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.845378" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.832917" elapsed="0.012484"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.847595" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.845950" elapsed="0.001692"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.845932" elapsed="0.001732"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.848209" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.847810" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.848769" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.848417" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.848948" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:57.849128" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.845613" elapsed="0.003541"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.849326" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.832352" elapsed="0.017426"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.857646" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.857349" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.868505" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.869045" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.869349" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.857800" elapsed="0.011576"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.869797" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.869536" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.875532" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.869985" elapsed="0.006655"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.879267" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.876744" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.876716" elapsed="0.002654"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.905413" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:57.905460" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.879602" elapsed="0.025882"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.907313" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.905562" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.905544" elapsed="0.001852"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:57.907429" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:57.907625" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:57.907670" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.856955" elapsed="0.050738"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.909911" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.908279" elapsed="0.001678"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.908259" elapsed="0.001720"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.910554" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.910127" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.911226" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.910865" elapsed="0.000411"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.911327" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:57.911508" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.907925" elapsed="0.003609"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.911691" elapsed="0.000420"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.856336" elapsed="0.055839"/>
</kw>
<arg>f204.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.814336" elapsed="0.097896"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.807359" elapsed="0.105004"/>
</test>
<test id="s1-s3-s2-t44" name="Test Is Flow 205 Added" line="134">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:57.923279" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:57.923419" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:57.923124" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:57.924042" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:57.923601" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.924522" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.924225" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.924970" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.924700" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:57.925434" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:57.925144" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:57.926372" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:57.925610" elapsed="0.000793"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.926888" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.926560" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.927467" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.927121" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.927997" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.927667" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.928560" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.928225" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.929077" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.928758" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.929612" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:57.929291" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:57.922795" elapsed="0.006914"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.930239" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.929857" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.930675" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.930435" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.938665" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.938360" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.943298" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.943412" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:57.943510" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.938824" elapsed="0.004711"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.943954" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.943703" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.946815" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.944143" elapsed="0.002743"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:57.949561" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:36:57.947035" elapsed="0.002619"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.947006" elapsed="0.002683"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:57.949886" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:57.950201" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:57.950014" elapsed="0.000283"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:57.949991" elapsed="0.000341"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.950378" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:57.952704" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:57.952750" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.938025" elapsed="0.014748"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.954935" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.953336" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.953318" elapsed="0.001686"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.955593" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.955151" elapsed="0.000470"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.956135" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:57.955785" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:57.956210" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:36:57.956425" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:57.952986" elapsed="0.003464"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:57.956606" elapsed="0.000387"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.937460" elapsed="0.019597"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.964906" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:57.964605" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:57.976597" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:57.977389" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:57.977775" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:57.965063" elapsed="0.012759"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.978791" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.978183" elapsed="0.000711"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:57.985176" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:57.979215" elapsed="0.006989"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:57.988060" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:57.986290" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:57.986269" elapsed="0.001864"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.015771" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.015819" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:57.988291" elapsed="0.027552"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.017824" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.015923" elapsed="0.001959"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.015904" elapsed="0.002003"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.017942" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.018141" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.018185" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:57.964197" elapsed="0.054010"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.020474" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.018782" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.018764" elapsed="0.001787"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.021131" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.020704" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.021697" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.021341" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.021772" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.021951" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.018446" elapsed="0.003530"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.022133" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:57.963579" elapsed="0.059026"/>
</kw>
<arg>f205.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:57.919461" elapsed="0.103207"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:57.912602" elapsed="0.110180"/>
</test>
<test id="s1-s3-s2-t45" name="Test Is Flow 206 Added" line="136">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.033978" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.034121" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.033838" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.034745" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db12cf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.034320" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.035202" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.034924" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.035670" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.035399" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.036112" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.035844" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.037048" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.036303" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.037600" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.037267" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.038167" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.037838" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.038733" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.038380" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.039314" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.038974" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.039838" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.039514" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.040379" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db12cf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.040036" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.033462" elapsed="0.007015"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.041007" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.040627" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.041640" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.041188" elapsed="0.000519"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.049641" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.049331" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.054540" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.054659" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:58.054756" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.049799" elapsed="0.004983"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.055195" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.054941" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.057523" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.055413" elapsed="0.002162"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:58.060168" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:58.057711" elapsed="0.002570"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.057682" elapsed="0.002635"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:58.060514" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.060829" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.060643" elapsed="0.000258"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:58.060619" elapsed="0.000316"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.060980" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:58.063310" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:58.063374" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.048965" elapsed="0.014441"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.066463" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.064167" elapsed="0.002362"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.064141" elapsed="0.002419"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.067131" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.066734" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.067692" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.067337" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.067768" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.067948" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.063706" elapsed="0.004267"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.068130" elapsed="0.000403"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.048404" elapsed="0.020194"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.076439" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.076123" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.087326" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.088084" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:58.088505" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.076596" elapsed="0.011946"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.089122" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.088768" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.093050" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.089411" elapsed="0.004725"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.096763" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.094237" elapsed="0.002597"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.094210" elapsed="0.002657"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.124550" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.124598" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:58.097065" elapsed="0.027558"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.126453" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.124703" elapsed="0.001807"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.124684" elapsed="0.001850"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.126569" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.126766" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.126810" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.075746" elapsed="0.051086"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.129019" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.127429" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.127410" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.129661" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.129240" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.130239" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.129852" elapsed="0.000429"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.130331" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.130509" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.127050" elapsed="0.003485"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.130692" elapsed="0.000384"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.075112" elapsed="0.056027"/>
</kw>
<arg>f206.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:58.029963" elapsed="0.101234"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:58.022964" elapsed="0.108365"/>
</test>
<test id="s1-s3-s2-t46" name="Test Is Flow 209 Added" line="138">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.142183" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.142350" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.142044" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.142946" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.142531" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.143454" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.143127" elapsed="0.000355"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.143904" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.143634" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.144386" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.144080" elapsed="0.000332"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.145286" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.144562" elapsed="0.000756"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.145804" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.145476" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.146414" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.146041" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.146943" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.146614" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.147472" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.147138" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.147988" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.147670" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.148525" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f5da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.148186" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.141716" elapsed="0.006907"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.149153" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.148775" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.149751" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.149352" elapsed="0.000465"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.157564" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.157262" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.162823" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.162982" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:58.163118" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.157721" elapsed="0.005433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.163767" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.163410" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.166833" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.164033" elapsed="0.002872"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:58.169546" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:36:58.167043" elapsed="0.002598"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.166976" elapsed="0.002699"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:58.169874" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.170195" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.170004" elapsed="0.000288"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:58.169979" elapsed="0.000348"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.170373" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:58.172418" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:58.172465" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.156927" elapsed="0.015561"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.174660" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.173036" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.173018" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.175309" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.174877" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.175855" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.175501" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.175930" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.176111" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.172702" elapsed="0.003435"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.176313" elapsed="0.000389"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.156371" elapsed="0.020395"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.184781" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.184482" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.194817" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.195391" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:58.195730" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.184936" elapsed="0.010854"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.196762" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.196155" elapsed="0.000709"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.203184" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.197191" elapsed="0.007047"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.206147" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.204326" elapsed="0.001874"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.204305" elapsed="0.001918"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.232675" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.232723" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:58.206382" elapsed="0.026365"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.234600" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.232827" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.232808" elapsed="0.001875"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.234718" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:58.234914" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.234959" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.184087" elapsed="0.050895"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.237241" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.235607" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.235588" elapsed="0.001736"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.237879" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.237473" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.238442" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.238071" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.238519" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:58.238699" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.235202" elapsed="0.003522"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.238881" elapsed="0.000422"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.183327" elapsed="0.056040"/>
</kw>
<arg>f209.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:58.138439" elapsed="0.100985"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:58.131594" elapsed="0.107949"/>
</test>
<test id="s1-s3-s2-t47" name="Test Is Flow 214 Added" line="140">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.250588" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.250745" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.250448" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.251351" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3847c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.250928" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.251844" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.251563" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.252314" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.252024" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.252801" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.252493" elapsed="0.000336"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.253658" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.252980" elapsed="0.000710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.254180" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.253849" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.254761" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.254433" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.255304" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.254958" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.255845" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.255528" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.256385" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.256044" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.256917" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3847c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.256585" elapsed="0.000375"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.250103" elapsed="0.006912"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.257570" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.257167" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.257996" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.257754" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.266148" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.265848" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.271652" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.271768" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:58.271864" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.266323" elapsed="0.005567"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.272325" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.272049" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.274492" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.272515" elapsed="0.002028"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:58.276422" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:36:58.274614" elapsed="0.001875"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.274595" elapsed="0.001918"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:58.276717" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.277036" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.276846" elapsed="0.000263"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:58.276823" elapsed="0.000319"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.277186" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:58.279508" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:58.279572" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.265522" elapsed="0.014082"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.282661" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.280408" elapsed="0.002318"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.280383" elapsed="0.002374"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.283540" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.282962" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.284541" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.284022" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.284645" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.284824" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.279918" elapsed="0.004931"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.285005" elapsed="0.000401"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.264939" elapsed="0.020531"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.293334" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.293013" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.302014" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.302579" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:58.302856" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.293493" elapsed="0.009390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.303331" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.303047" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.311662" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.303528" elapsed="0.009510"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.314889" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.313112" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.313092" elapsed="0.001869"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.388135" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.388199" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:58.315104" elapsed="0.073121"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.390218" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.388364" elapsed="0.001932"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.388334" elapsed="0.001990"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.390361" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:36:58.390581" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.390626" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.292637" elapsed="0.098013"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.392908" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.391275" elapsed="0.001681"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.391242" elapsed="0.001737"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.393602" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.393133" elapsed="0.000498"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.394153" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.393798" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.394229" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:36:58.394428" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.390895" elapsed="0.003559"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.394613" elapsed="0.000402"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.292007" elapsed="0.103071"/>
</kw>
<arg>f214.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:58.246740" elapsed="0.148397"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:58.239730" elapsed="0.155546"/>
</test>
<test id="s1-s3-s2-t48" name="Test Is Flow 218 Added" line="142">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.406433" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.406600" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.406288" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.407184" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb1a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.406784" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.407672" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.407385" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.408121" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.407852" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.408589" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.408316" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.409384" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.408767" elapsed="0.000648"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.409905" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.409573" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.410646" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.410158" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.411179" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.410846" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.411719" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.411395" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.412256" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.411918" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.412789" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb1a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.412457" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.405937" elapsed="0.006950"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.413461" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.413059" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.413887" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.413646" elapsed="0.000299"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.421700" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.421397" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.427432" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.427660" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:58.427800" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.421858" elapsed="0.005979"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.428450" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.428065" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.431634" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.428720" elapsed="0.002987"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:58.434364" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:58.431807" elapsed="0.002651"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.431779" elapsed="0.002714"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:58.434693" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.435010" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.434821" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:58.434798" elapsed="0.000367"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.435211" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:58.437608" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:58.437668" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.421056" elapsed="0.016636"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.439885" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.438241" elapsed="0.001691"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.438219" elapsed="0.001735"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.440518" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.440103" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.441060" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.440709" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.441137" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:36:58.441355" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.437903" elapsed="0.003478"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.441540" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.420474" elapsed="0.021516"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.449971" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.449672" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.460289" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.461056" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:58.461501" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.450127" elapsed="0.011413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.462451" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.461837" elapsed="0.000719"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.468735" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.462881" elapsed="0.007225"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.471948" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.470179" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.470160" elapsed="0.001861"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.497661" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.497732" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:58.472163" elapsed="0.025593"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.499569" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.497835" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.497816" elapsed="0.001836"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.499685" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:58.500011" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.500055" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.449280" elapsed="0.050798"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.502302" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.500669" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.500651" elapsed="0.001720"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.502922" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.502521" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.503483" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.503113" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.503559" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.503738" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.500325" elapsed="0.003437"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.503918" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.448629" elapsed="0.055754"/>
</kw>
<arg>f218.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:58.402577" elapsed="0.101863"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:58.395585" elapsed="0.108966"/>
</test>
<test id="s1-s3-s2-t49" name="Test Is Flow 219 Added" line="144">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.515408" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.515545" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.515268" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.516131" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0e00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.515726" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.516610" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.516330" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.517057" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.516787" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.517518" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.517231" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.518391" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.517693" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.518945" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.518578" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.519526" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.519181" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.520047" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.519721" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.520574" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.520257" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.521088" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.520770" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.521624" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0e00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.521301" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.514926" elapsed="0.006800"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.522296" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.521876" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.522721" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.522480" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.530722" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.530423" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.536081" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.536194" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:58.536320" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.530878" elapsed="0.005468"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.536830" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.536508" elapsed="0.000386"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.539900" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.537097" elapsed="0.002875"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:58.542552" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:58.540068" elapsed="0.002576"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.540042" elapsed="0.002637"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:58.542920" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.543261" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.543051" elapsed="0.000285"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:58.543027" elapsed="0.000342"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.543415" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:36:58.545725" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:58.545803" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.530088" elapsed="0.015755"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.548350" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.546695" elapsed="0.001701"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.546664" elapsed="0.001755"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.548963" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.548566" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.549522" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.549151" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.549598" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:58.549784" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.546190" elapsed="0.003619"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.549966" elapsed="0.000418"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.529508" elapsed="0.020939"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.558310" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.557984" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.568176" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.568987" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:58.569403" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.558471" elapsed="0.010969"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.570023" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.569668" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.573982" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.570311" elapsed="0.004795"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.577786" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.575209" elapsed="0.002665"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.575182" elapsed="0.002728"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.604517" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.604565" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:58.578117" elapsed="0.026471"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.606422" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.604670" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.604650" elapsed="0.001855"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.606538" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:58.606760" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.606804" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.557606" elapsed="0.049220"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.609085" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.607419" elapsed="0.001712"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.607394" elapsed="0.001759"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.609728" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.609320" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.610288" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.609920" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.610366" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.610545" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.607048" elapsed="0.003522"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.610759" elapsed="0.000387"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.556973" elapsed="0.054236"/>
</kw>
<arg>f219.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:58.511642" elapsed="0.099643"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:58.504728" elapsed="0.106674"/>
</test>
<test id="s1-s3-s2-t50" name="Test Is Flow 220 Added" line="146">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.622593" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.622752" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.622454" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.623391" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.622960" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.623857" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.623574" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.624400" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.624086" elapsed="0.000341"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.624853" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.624581" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.625631" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.625030" elapsed="0.000636"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.626151" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.625823" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.626735" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.626409" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.627308" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.626962" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.627817" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.627503" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.628348" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.628011" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.628864" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.628546" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.622105" elapsed="0.006854"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.629504" level="INFO">${det} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.629107" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.629934" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.629685" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.637873" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.637575" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.643911" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.644026" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:36:58.644123" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.638029" elapsed="0.006119"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.644594" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.644338" elapsed="0.000309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.647649" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.644852" elapsed="0.002868"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:36:58.650314" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:36:58.647817" elapsed="0.002590"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.647790" elapsed="0.002651"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:36:58.650640" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.651007" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.650811" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:36:58.650747" elapsed="0.000399"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.651195" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:36:58.653513" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:36:58.653578" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.637254" elapsed="0.016358"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.656391" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.654402" elapsed="0.002036"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.654377" elapsed="0.002084"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.657013" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.656607" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.657573" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.657203" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.657650" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:36:58.657829" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.653912" elapsed="0.003943"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.658013" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.636681" elapsed="0.021800"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.666481" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.666153" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:58.678076" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:58.678857" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:36:58.679270" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.666640" elapsed="0.012709"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.680120" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.679580" elapsed="0.000644"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.686427" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;99000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-mpls-action&gt;&lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;&lt;/push-mpls-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;push-vlan-action&gt;&lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;&lt;/push-vlan-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;603000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;601000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;605000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;1&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-queue-action&gt;&lt;queue-id&gt;1&lt;/queue-id&gt;&lt;/set-queue-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-dscp&gt;1&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;111000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;608000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;109000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;120000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;125000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;0&lt;/max-length&gt;&lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;625000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;124000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;617000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;123000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;182000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;131000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;629000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;132000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;631000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;637000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;137000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;634000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;136000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-mpls-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;643000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;ip-match&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;145000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;641000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;139000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;640000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;set-field&gt;&lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;&lt;/set-field&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;86000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.680586" elapsed="0.007304"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.689744" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.687963" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.687943" elapsed="0.001874"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.714655" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:36:58.714702" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:36:58.689957" elapsed="0.024769"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:36:58.716560" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:36:58.714804" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.714786" elapsed="0.001857"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:36:58.716680" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:36:58.716878" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:36:58.716922" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:36:58.665765" elapsed="0.051179"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:36:58.719126" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:36:58.717514" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-05-25T00:36:58.717496" elapsed="0.001705"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.719800" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.719365" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.720361" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:36:58.719990" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:36:58.720437" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:36:58.720614" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:36:58.717161" elapsed="0.003478"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:36:58.720796" elapsed="0.000385"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:36:58.665017" elapsed="0.056244"/>
</kw>
<arg>f220.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${False}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:36:58.618654" elapsed="0.102667"/>
</kw>
<status status="PASS" start="2026-05-25T00:36:58.611606" elapsed="0.109830"/>
</test>
<test id="s1-s3-s2-t51" name="Test Update Flows Group 0" line="148">
<for flavor="IN">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.722643" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.722393" elapsed="0.000296"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:58.726240" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:58.726397" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:58.726097" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.726976" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.726580" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.727458" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.727160" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.727940" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.727636" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:58.728408" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:58.728118" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:58.729159" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:58.728585" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.729684" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.729362" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.730231" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.729921" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.730763" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.730444" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.731272" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.730955" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.731778" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.731470" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.732320" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:58.731996" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:58.725748" elapsed="0.006670"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.733885" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.733471" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:58.734352" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:58.734089" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.734827" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dcf2c00&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.734556" elapsed="0.000299"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:58.735289" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.735003" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.735880" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dcf0040&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.735485" elapsed="0.000429"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:58.736444" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e2fa4d0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.736069" elapsed="0.000403"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.736622" elapsed="0.000266"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:58.737039" elapsed="0.000275"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.737469" elapsed="0.000242"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.737859" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.738260" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.738647" elapsed="0.000235"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.739063" elapsed="0.000355"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.739567" elapsed="0.000347"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.740063" elapsed="0.000352"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:58.740845" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d1ad0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.740571" elapsed="0.000302"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:58.741027" elapsed="0.000265"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:58.741865" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.741445" elapsed="0.000491"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:58.742552" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:58.742085" elapsed="0.000501"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:59.274675" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1712', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:59.274861" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:59.275103" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:58.742719" elapsed="0.532444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.280652" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.275641" elapsed="0.005154"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf1580&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:58.733058" elapsed="0.547877"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:58.732568" elapsed="0.548578"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-05-25T00:36:58.722261" elapsed="0.558974"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.282451" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.281835" elapsed="0.000719"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:59.287825" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:59.287983" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:59.287680" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.288602" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb9c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.288168" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:59.289110" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:59.288821" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:59.289587" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:59.289310" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:59.290080" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:59.289797" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:59.290892" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:59.290275" elapsed="0.000649"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.291432" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.291085" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.291948" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.291630" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.292477" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.292143" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.293037" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.292671" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.293568" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.293238" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.294080" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb9c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.293768" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:59.287324" elapsed="0.006855"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.295520" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.295266" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.295966" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.295721" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.296506" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4c8bd0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.296210" elapsed="0.000323"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:59.296984" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.296680" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.297555" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4cbdd0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.297177" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.298082" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4c9ad0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.297731" elapsed="0.000379"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.298271" elapsed="0.002474"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.300938" elapsed="0.000274"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.301388" elapsed="0.000247"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.301819" elapsed="0.000370"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.302363" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.302752" elapsed="0.000238"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.303138" elapsed="0.000350"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.303638" elapsed="0.000327"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.304111" elapsed="0.000349"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:59.304883" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2fbf10&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:59.304613" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:59.305085" elapsed="0.000265"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:59.305921" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.305499" elapsed="0.000494"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:59.306609" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.306137" elapsed="0.000502"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:36:59.775574" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1788', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:36:59.775789" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:36:59.775941" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:59.306769" elapsed="0.469200"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.778382" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.776208" elapsed="0.002220"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e2fb9c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:59.294851" elapsed="0.483644"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:59.294349" elapsed="0.484206"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-05-25T00:36:59.281512" elapsed="0.497084"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.779099" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.778846" elapsed="0.000300"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:36:59.782657" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:36:59.782809" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:36:59.782512" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.783429" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.782995" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:59.783903" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:59.783614" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:59.784369" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:59.784081" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:36:59.784856" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:36:59.784545" elapsed="0.000338"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:36:59.785660" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:36:59.785033" elapsed="0.000658"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.786181" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.785851" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.786705" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.786394" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.787211" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.786897" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.787724" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.787422" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.788225" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.787919" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.788771" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:36:59.788440" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:36:59.782142" elapsed="0.006726"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.790371" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.790101" elapsed="0.000365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:36:59.790855" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:36:59.790612" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.791347" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e2fbf60&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.791057" elapsed="0.000318"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:59.791787" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.791520" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.792350" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e2f9df0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.791981" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:36:59.792907" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dcf0ef0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.792527" elapsed="0.000408"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.793081" elapsed="0.000283"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:36:59.793514" elapsed="0.000260"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.793925" elapsed="0.000236"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.794324" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.794708" elapsed="0.000234"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.795087" elapsed="0.000250"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.795481" elapsed="0.000328"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.795953" elapsed="0.000335"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.796434" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:36:59.797205" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf0090&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:36:59.796939" elapsed="0.000293"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:36:59.797400" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:36:59.798214" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.797792" elapsed="0.000553"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:36:59.798945" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:36:59.798493" elapsed="0.000484"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:00.275851" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1740', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:00.275954" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:00.276087" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:36:59.799107" elapsed="0.477015"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.278715" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.276392" elapsed="0.002368"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e2f8400&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:36:59.789707" elapsed="0.489117"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:36:59.789019" elapsed="0.489863"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-05-25T00:36:59.778713" elapsed="0.500209"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.279446" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.279170" elapsed="0.000322"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:00.282987" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:00.283180" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:00.282844" elapsed="0.000367"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.283803" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.283381" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:00.284290" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:00.283988" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:00.284776" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:00.284471" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:00.285226" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:00.284954" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:00.286064" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:00.285420" elapsed="0.000675"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.286658" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.286322" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.287345" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.286858" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.287853" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.287541" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.288373" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.288047" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.288917" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.288572" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.289439" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.289114" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:00.282491" elapsed="0.007045"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.290833" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.290585" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.291293" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.291034" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.291765" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dd2acf0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.291497" elapsed="0.000296"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:00.292198" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.291938" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.292788" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dd297b0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.292408" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.293467" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dd28590&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.292962" elapsed="0.000533"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.293644" elapsed="0.000267"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.294060" elapsed="0.000273"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.294484" elapsed="0.000237"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.294900" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.295301" elapsed="0.000239"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.295685" elapsed="0.000233"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.296064" elapsed="0.000356"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.296566" elapsed="0.000367"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.297081" elapsed="0.000349"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:00.297849" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4c9490&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:00.297582" elapsed="0.000294"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:00.298024" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:00.298879" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.298433" elapsed="0.000520"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:00.299583" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.299098" elapsed="0.000517"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:00.777327" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2078', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:00.777619" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:00.777874" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:00.299743" elapsed="0.478192"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.783039" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.778404" elapsed="0.004737"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf2020&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:00.290175" elapsed="0.493137"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:00.289688" elapsed="0.493750"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-05-25T00:37:00.279037" elapsed="0.504489"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.784704" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.784096" elapsed="0.000726"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:00.790524" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:00.790681" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:00.790379" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.791321" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7aac0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.790872" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:00.791794" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:00.791509" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:00.792281" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:00.791976" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:00.792742" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:00.792464" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:00.793776" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:00.792929" elapsed="0.000879"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.794325" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.793972" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.794833" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.794523" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.795358" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.795027" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.795853" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.795552" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.796565" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.796049" elapsed="0.000563"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.797079" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7aac0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:00.796773" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:00.789998" elapsed="0.007176"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.798495" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.798229" elapsed="0.000387"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:00.799006" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:00.798761" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.799501" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4dd800&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.799211" elapsed="0.000318"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:00.799938" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.799676" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.800533" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4dc630&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.800131" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:00.801067" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4dd440&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.800710" elapsed="0.000385"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.801258" elapsed="0.000265"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:00.801674" elapsed="0.000253"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.802077" elapsed="0.000254"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.802478" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.802867" elapsed="0.000234"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.803262" elapsed="0.000237"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.803643" elapsed="0.000339"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.804129" elapsed="0.000386"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.804663" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:00.805447" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d1405471a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:00.805145" elapsed="0.000329"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:00.805624" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:00.806592" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.806014" elapsed="0.000690"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:00.807361" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:00.806853" elapsed="0.000540"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:01.278723" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2298', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:01.278942" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:01.279203" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:00.807524" elapsed="0.471775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.284583" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.279801" elapsed="0.004886"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13eb7aac0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:00.797833" elapsed="0.486995"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:00.797341" elapsed="0.487617"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-05-25T00:37:00.783763" elapsed="0.501284"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.286195" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.285629" elapsed="0.000706"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:01.290628" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:01.290820" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:01.290482" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.291456" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4db0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.291005" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:01.291953" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:01.291669" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:01.292424" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:01.292133" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:01.292881" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:01.292603" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:01.293847" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:01.293151" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.294397" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.294044" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.294913" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.294599" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.295443" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.295110" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.295983" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.295670" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.296512" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.296183" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.297021" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4db0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.296712" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:01.290109" elapsed="0.007009"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.298449" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.298181" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.298900" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.298652" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.299393" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e1d5df0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.299104" elapsed="0.000316"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:01.299852" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.299589" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.300589" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e1d5e40&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.300044" elapsed="0.000574"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.301128" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e1d7fb0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.300768" elapsed="0.000387"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.301359" elapsed="0.000270"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.301782" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.302196" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.302607" elapsed="0.000243"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.302998" elapsed="0.000255"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.303403" elapsed="0.000270"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.303822" elapsed="0.000342"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.304329" elapsed="0.000338"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.304820" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:01.305599" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2fba60&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:01.305326" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:01.305779" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:01.306638" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.306173" elapsed="0.000543"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:01.307359" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.306862" elapsed="0.000529"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:01.779838" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2218', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:01.780153" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:01.780444" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:01.307521" elapsed="0.472984"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.785679" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.780950" elapsed="0.004826"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e1d4db0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:01.297786" elapsed="0.488128"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:01.297288" elapsed="0.488750"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-05-25T00:37:01.285330" elapsed="0.500795"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.787012" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.786751" elapsed="0.000307"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:01.790681" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:01.790856" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:01.790526" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.791516" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355c60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.791045" elapsed="0.000500"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:01.791987" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:01.791703" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:01.792458" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:01.792166" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:01.792910" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:01.792637" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:01.794023" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:01.793089" elapsed="0.000966"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.794611" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.794222" elapsed="0.000433"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.795125" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.794816" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.795650" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.795337" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.796146" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.795846" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.796663" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.796358" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.797164" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355c60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:01.796859" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:01.790111" elapsed="0.007167"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.798608" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.798348" elapsed="0.000396"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:01.799187" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:01.798933" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.799699" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e355260&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.799421" elapsed="0.000306"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:01.800144" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.799873" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.800740" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e357470&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.800356" elapsed="0.000416"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:01.801315" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e3562a0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.800922" elapsed="0.000421"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.801492" elapsed="0.000267"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:01.801908" elapsed="0.000256"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.802331" elapsed="0.000274"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.802754" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.803138" elapsed="0.000254"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.803538" elapsed="0.000236"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.803922" elapsed="0.000373"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.804443" elapsed="0.000455"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.805047" elapsed="0.000362"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:01.805832" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db13bf0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:01.805562" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:01.806009" elapsed="0.000265"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:01.806935" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.806424" elapsed="0.000630"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:01.807738" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:01.807204" elapsed="0.000566"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:02.281709" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2588', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:02.281929" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:02.282189" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:01.807902" elapsed="0.474381"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.286849" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.282745" elapsed="0.004347"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e355c60&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:01.797933" elapsed="0.489250"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:01.797431" elapsed="0.489856"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-05-25T00:37:01.786401" elapsed="0.500944"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.288050" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.287689" elapsed="0.000425"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:02.293018" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:02.293257" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:02.292819" elapsed="0.000483"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.294074" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.293553" elapsed="0.000551"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:02.294564" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:02.294277" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:02.295019" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:02.294745" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:02.295548" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:02.295270" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:02.296533" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:02.295726" elapsed="0.000838"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.297071" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.296728" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.297623" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.297289" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.298134" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.297819" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.298650" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.298346" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.299162" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.298854" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.299691" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.299379" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:02.292326" elapsed="0.007462"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.301283" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.301016" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.301766" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.301516" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.302266" level="INFO">${xml} = &lt;Element 'input' at 0x70d13db13510&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.301977" elapsed="0.000345"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:02.302742" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.302476" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.303355" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13db109a0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.302944" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.303915" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e387a60&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.303534" elapsed="0.000409"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.304095" elapsed="0.000292"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.304541" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.304953" elapsed="0.000239"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.305373" elapsed="0.000255"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.305777" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.306164" elapsed="0.000266"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.306577" elapsed="0.000364"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.307097" elapsed="0.000392"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.307639" elapsed="0.000332"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:02.308418" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f6250&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:02.308125" elapsed="0.000321"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:02.308597" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:02.309513" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.308990" elapsed="0.000643"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:02.310335" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.309782" elapsed="0.000614"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:02.782879" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2896', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:02.783121" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:02.783433" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:02.310531" elapsed="0.472969"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.789489" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.783984" elapsed="0.005612"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13db10c70&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:02.300452" elapsed="0.489294"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:02.299941" elapsed="0.489943"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-05-25T00:37:02.287503" elapsed="0.502475"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.791193" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.790587" elapsed="0.000750"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:02.795691" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:02.795865" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:02.795545" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.796536" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.796053" elapsed="0.000513"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:02.797008" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:02.796723" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:02.797483" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:02.797191" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:02.798001" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:02.797722" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:02.798973" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:02.798181" elapsed="0.000823"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.799521" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.799169" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.800032" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.799720" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.800606" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.800288" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.801114" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.800807" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.801643" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.801331" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.802153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f6610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:02.801843" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:02.795170" elapsed="0.007098"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.803580" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.803330" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:02.804029" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:02.803787" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.804544" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dc0d940&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.804271" elapsed="0.000301"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:02.805017" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.804717" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.805759" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dc0e8e0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.805210" elapsed="0.000577"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:02.806333" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dc0e250&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.805936" elapsed="0.000425"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.806510" elapsed="0.000267"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:02.806928" elapsed="0.000256"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.807353" elapsed="0.000239"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.807739" elapsed="0.000234"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.808146" elapsed="0.000254"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.808546" elapsed="0.000235"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.808927" elapsed="0.000380"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.809456" elapsed="0.000361"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.809967" elapsed="0.000351"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:02.810745" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0c9f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:02.810472" elapsed="0.000300"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:02.810921" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:02.811839" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.811333" elapsed="0.000591"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:02.812637" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:02.812070" elapsed="0.000598"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:03.283140" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2808', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:03.283421" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:03.283683" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:02.812831" elapsed="0.470913"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.288964" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.284202" elapsed="0.004863"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4f6610&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:02.802916" elapsed="0.486289"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:02.802423" elapsed="0.486947"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-05-25T00:37:02.790269" elapsed="0.499191"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.290673" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.290010" elapsed="0.000771"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:03.294335" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:03.294511" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:03.294169" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.295166" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300810&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.294707" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:03.295652" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:03.295367" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:03.296103" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:03.295832" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:03.298190" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:03.296305" elapsed="0.001913"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:03.299272" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:03.298450" elapsed="0.000854"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.299805" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.299469" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.300330" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.300004" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.300839" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.300527" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.301354" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.301033" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.301857" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.301552" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.302390" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300810&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.302055" elapsed="0.000378"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:03.293800" elapsed="0.008689"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.303822" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.303570" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.304294" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.304031" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.304781" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dc0f3d0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.304507" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:03.305222" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.304955" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.305862" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dc0cb30&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.305470" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.306430" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dc0ca90&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.306038" elapsed="0.000420"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.306602" elapsed="0.000299"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.307051" elapsed="0.000273"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.307475" elapsed="0.000238"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.307860" elapsed="0.000232"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.308253" elapsed="0.000237"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.308636" elapsed="0.000233"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.309015" elapsed="0.000373"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.309535" elapsed="0.000484"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.310169" elapsed="0.000352"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:03.310960" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0ea20&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:03.310675" elapsed="0.000312"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:03.311135" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:03.312039" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.311545" elapsed="0.000578"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:03.312813" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.312285" elapsed="0.000559"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:03.784791" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2816', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:03.785161" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:03.785487" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:03.312975" elapsed="0.472575"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.790682" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.786004" elapsed="0.004780"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e300810&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:03.303157" elapsed="0.487772"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:03.302658" elapsed="0.488399"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-05-25T00:37:03.289710" elapsed="0.501435"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.792319" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.791717" elapsed="0.000707"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:03.796715" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:03.796909" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:03.796568" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.797558" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f51c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.797092" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:03.798034" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:03.797747" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:03.798504" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:03.798213" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:03.798951" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:03.798681" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:03.799919" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:03.799129" elapsed="0.000821"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.800463" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.800113" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.801007" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.800661" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.801536" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.801204" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.802039" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.801731" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.802563" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.802252" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.803072" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4f51c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:03.802763" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:03.796198" elapsed="0.006971"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.804507" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.804253" elapsed="0.000356"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:03.805178" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:03.804753" elapsed="0.000511"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.805870" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4f66b0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.805415" elapsed="0.000483"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:03.806334" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.806047" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.806923" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4f6c00&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.806532" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:03.807499" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4f7060&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.807104" elapsed="0.000423"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.807678" elapsed="0.000274"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:03.808104" elapsed="0.000275"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.808537" elapsed="0.000314"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.809062" elapsed="0.000287"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.809507" elapsed="0.000243"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.809927" elapsed="0.000248"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.810340" elapsed="0.000366"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.810859" elapsed="0.000361"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.811384" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:03.812131" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db10c70&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:03.811865" elapsed="0.000293"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:03.812324" elapsed="0.000249"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:03.813262" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.812720" elapsed="0.000668"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:03.814073" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:03.813536" elapsed="0.000568"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:04.285828" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2798', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:04.286056" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:04.286347" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:03.814254" elapsed="0.472157"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.292141" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.286872" elapsed="0.005332"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4f51c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:03.803839" elapsed="0.488477"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:03.803341" elapsed="0.489058"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-05-25T00:37:03.791418" elapsed="0.501037"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.293159" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.292800" elapsed="0.000422"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:04.298130" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:04.298376" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:04.297934" elapsed="0.000482"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.299317" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10fe0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.298628" elapsed="0.000731"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:04.299980" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:04.299581" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:04.300523" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:04.300220" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:04.300976" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:04.300703" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:04.301935" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:04.301154" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.302478" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.302130" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.302985" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.302673" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.303536" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.303204" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.304037" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.303733" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.304564" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.304251" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.305074" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10fe0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.304765" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:04.297449" elapsed="0.007722"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.306503" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.306251" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.306964" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.306714" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.307532" level="INFO">${xml} = &lt;Element 'input' at 0x70d13db13100&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.307254" elapsed="0.000307"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:04.307975" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.307710" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.308730" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13db10ef0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.308173" elapsed="0.000585"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.309320" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13db128e0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.308911" elapsed="0.000438"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.309499" elapsed="0.000267"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.309922" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.310355" elapsed="0.000240"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.310744" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.311129" elapsed="0.000282"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.311559" elapsed="0.000234"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.311940" elapsed="0.000380"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.312470" elapsed="0.000352"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.312970" elapsed="0.000358"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:04.313749" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e356d90&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:04.313481" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:04.313926" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:04.314837" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.314338" elapsed="0.000619"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:04.315684" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.315108" elapsed="0.000607"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:04.786749" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '3082', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:04.786959" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:04.787185" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:04.315846" elapsed="0.471380"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.790638" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.787605" elapsed="0.003098"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13db10fe0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:04.305837" elapsed="0.484960"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:04.305341" elapsed="0.485544"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-05-25T00:37:04.292615" elapsed="0.498346"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.791977" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.791469" elapsed="0.000734"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:04.797819" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:04.798007" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:04.797609" elapsed="0.000428"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.798669" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40b100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.798195" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:04.799203" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:04.798912" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:04.799682" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:04.799406" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:04.800132" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:04.799860" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:04.801281" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:04.800330" elapsed="0.000985"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.801837" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.801483" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.802387" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.802048" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.802925" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.802605" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.803447" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.803121" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.803955" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.803645" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.804485" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40b100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:04.804154" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:04.796997" elapsed="0.007588"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.806002" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.805748" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:04.806472" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:04.806208" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.806955" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e1d5cb0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.806684" elapsed="0.000299"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:04.807455" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.807167" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.808027" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e1d6250&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.807652" elapsed="0.000403"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:04.808591" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e1d6ed0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.808205" elapsed="0.000414"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.808770" elapsed="0.000272"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:04.809256" elapsed="0.000278"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.809696" elapsed="0.000247"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.810093" elapsed="0.000258"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.810502" elapsed="0.000239"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.810889" elapsed="0.000236"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.811291" elapsed="0.000353"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.811792" elapsed="0.000488"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.812432" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:04.813263" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d140546020&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:04.812924" elapsed="0.000369"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:04.813447" elapsed="0.000266"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:04.814354" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.813864" elapsed="0.000569"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:04.815073" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:04.814579" elapsed="0.000526"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:05.287607" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2382', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:05.287872" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:05.288063" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:04.815252" elapsed="0.472853"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.291512" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.288461" elapsed="0.003116"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e40b100&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:04.805317" elapsed="0.486351"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:04.804737" elapsed="0.487013"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-05-25T00:37:04.791179" elapsed="0.500627"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.292932" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.292361" elapsed="0.000673"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:05.298319" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:05.298491" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:05.298151" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.299167" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7aac0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.298678" elapsed="0.000520"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:05.299662" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:05.299373" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:05.300122" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:05.299846" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:05.300594" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:05.300319" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:05.301494" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:05.300775" elapsed="0.000750"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.302021" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.301690" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.302583" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.302224" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.303325" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.302806" elapsed="0.000583"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.304055" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.303611" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.304807" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.304370" elapsed="0.000489"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.305369" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7aac0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.305019" elapsed="0.000402"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:05.297776" elapsed="0.007707"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.307297" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.306698" elapsed="0.000744"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.307991" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.307642" elapsed="0.000441"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.308703" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4a9ad0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.308318" elapsed="0.000425"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:05.309362" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.308955" elapsed="0.000478"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.310192" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4a9080&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.309649" elapsed="0.000584"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.311038" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4cb790&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.310472" elapsed="0.000606"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.311290" elapsed="0.000379"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.311891" elapsed="0.000398"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.312516" elapsed="0.000351"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.313056" elapsed="0.000271"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.313481" elapsed="0.000241"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.313871" elapsed="0.000236"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.314269" elapsed="0.000353"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.314770" elapsed="0.000374"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.315309" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:05.316072" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f4090&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:05.315801" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:05.316267" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:05.317138" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.316665" elapsed="0.000601"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:05.317915" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.317418" elapsed="0.000530"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:05.788020" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2390', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:05.788317" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:05.788582" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:05.318081" elapsed="0.470623"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.794338" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.789163" elapsed="0.005279"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13eb7aac0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:05.306207" elapsed="0.488376"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:05.305695" elapsed="0.489016"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-05-25T00:37:05.292029" elapsed="0.502769"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.795944" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.795369" elapsed="0.000678"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:05.800074" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:05.800274" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:05.799929" elapsed="0.000376"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.800927" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc1d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.800458" elapsed="0.000499"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:05.801447" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:05.801133" elapsed="0.000341"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:05.801900" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:05.801628" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:05.802364" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:05.802076" elapsed="0.000367"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:05.803304" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:05.802598" elapsed="0.000738"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.803832" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.803498" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.804358" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.804029" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.804908" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.804554" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.805434" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.805105" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.805948" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.805637" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.806479" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc1d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:05.806148" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:05.799570" elapsed="0.007007"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.807886" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.807637" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:05.808356" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:05.808094" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.808858" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dd29b20&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.808561" elapsed="0.000332"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:05.809344" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.809063" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.809911" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dd28540&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.809538" elapsed="0.000400"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:05.810612" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dd2ad40&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.810087" elapsed="0.000583"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.810822" elapsed="0.000271"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:05.811261" elapsed="0.000262"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.811675" elapsed="0.000238"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.812062" elapsed="0.000254"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.812465" elapsed="0.000270"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.812885" elapsed="0.000237"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.813297" elapsed="0.000350"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.813796" elapsed="0.000344"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.814304" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:05.815067" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7060&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:05.814793" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:05.815280" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:05.816147" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.815687" elapsed="0.000538"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:05.817102" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:05.816430" elapsed="0.000711"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:06.288146" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2308', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:06.288521" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:06.288788" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:05.817340" elapsed="0.471512"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.294074" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.289339" elapsed="0.004837"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4dc1d0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:05.807224" elapsed="0.487191"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:05.806730" elapsed="0.487834"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-05-25T00:37:05.795040" elapsed="0.499613"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.295553" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.295093" elapsed="0.000532"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:06.301085" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:06.301337" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:06.300872" elapsed="0.000509"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.302280" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf13a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.301617" elapsed="0.000746"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:06.303029" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:06.302616" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:06.303513" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:06.303214" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:06.303972" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:06.303696" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:06.305002" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:06.304153" elapsed="0.000881"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.305561" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.305203" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.306076" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.305762" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.306692" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.306323" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.307212" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.306900" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.307751" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.307431" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.308279" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf13a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.307952" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:06.300339" elapsed="0.008040"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.309726" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.309465" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.310228" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.309979" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.310802" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e2fb1a0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.310510" elapsed="0.000320"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:06.311266" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.310979" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.311863" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e2f9c10&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.311483" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.312440" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e2f9300&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.312044" elapsed="0.000424"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.312616" elapsed="0.000284"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.313053" elapsed="0.000284"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.313491" elapsed="0.000249"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.313891" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.314295" elapsed="0.000275"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.314725" elapsed="0.000239"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.315147" elapsed="0.000397"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.315698" elapsed="0.000347"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.316194" elapsed="0.000374"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:06.317012" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e300c20&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:06.316724" elapsed="0.000317"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:06.317193" elapsed="0.000272"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:06.318046" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.317613" elapsed="0.000541"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:06.318853" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.318323" elapsed="0.000564"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:06.789488" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1818', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:06.789600" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:06.789746" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:06.319022" elapsed="0.470753"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.792217" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.790036" elapsed="0.002242"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf13a0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:06.309046" elapsed="0.483302"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:06.308533" elapsed="0.483875"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-05-25T00:37:06.294894" elapsed="0.497554"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.792967" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.792705" elapsed="0.000309"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:06.796580" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:06.796750" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:06.796434" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.797377" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302570&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.796937" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:06.797850" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:06.797563" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:06.798322" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:06.798030" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:06.798774" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:06.798500" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:06.799558" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:06.798953" elapsed="0.000636"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.800186" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.799848" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.800721" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.800405" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.801400" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.800932" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.802108" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.801678" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.802844" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.802409" elapsed="0.000499"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.803582" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302570&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:06.803123" elapsed="0.000518"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:06.796058" elapsed="0.007660"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.805426" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.805151" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:06.805869" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:06.805627" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.806494" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e302d40&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.806076" elapsed="0.000447"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:06.806939" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.806671" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.807508" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e302f20&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.807133" elapsed="0.000402"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:06.808047" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e302c50&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.807685" elapsed="0.000391"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.808224" elapsed="0.000290"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:06.808665" elapsed="0.001665"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.810490" elapsed="0.000246"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.810887" elapsed="0.000242"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.811296" elapsed="0.000243"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.811690" elapsed="0.000317"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.812158" elapsed="0.000352"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.812659" elapsed="0.000320"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.813128" elapsed="0.000351"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:06.813904" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2f9670&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:06.813633" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:06.814081" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:06.814897" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.814494" elapsed="0.000473"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:06.815574" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:06.815115" elapsed="0.000491"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:07.290166" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1587', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:07.290422" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:07.290727" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:06.815738" elapsed="0.475050"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.296097" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.291232" elapsed="0.004966"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e302570&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:06.804692" elapsed="0.491675"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:06.803977" elapsed="0.492611"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-05-25T00:37:06.792568" elapsed="0.504111"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.297966" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.297441" elapsed="0.000572"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:07.301749" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:07.301948" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:07.301579" elapsed="0.000406"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.302655" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1bc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.302180" elapsed="0.000505"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:07.303131" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:07.302842" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:07.303637" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:07.303336" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:07.304102" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:07.303822" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:07.304902" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:07.304308" elapsed="0.000625"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.305501" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.305098" elapsed="0.000447"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.306035" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.305703" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.306582" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.306256" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.307094" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.306780" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.307630" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.307316" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.308147" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1bc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.307831" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:07.301102" elapsed="0.007170"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.309896" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.309624" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.310381" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.310109" elapsed="0.000373"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.310938" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dcf0450&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.310643" elapsed="0.000324"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:07.311407" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.311118" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.311962" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dcf1b20&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.311604" elapsed="0.000386"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.312508" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dcf2570&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.312141" elapsed="0.000395"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.312685" elapsed="0.000268"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.313107" elapsed="0.000320"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.313584" elapsed="0.000270"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.314008" elapsed="0.000259"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.314418" elapsed="0.000266"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.314849" elapsed="0.000261"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.315280" elapsed="0.000427"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.315862" elapsed="0.000326"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.316361" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:07.317135" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf37e0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:07.316861" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:07.317414" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:07.318270" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.317826" elapsed="0.000517"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:07.318941" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.318492" elapsed="0.000480"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:07.791103" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1633', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:07.791335" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:07.791486" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:07.319105" elapsed="0.472410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.794124" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.791776" elapsed="0.002394"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf1bc0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:07.308927" elapsed="0.485325"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:07.308428" elapsed="0.485887"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-05-25T00:37:07.296916" elapsed="0.497440"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.794955" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.794687" elapsed="0.000337"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:07.799977" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:07.800256" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:07.799777" elapsed="0.000524"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.801127" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b0b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.800520" elapsed="0.000647"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:07.801874" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:07.801408" elapsed="0.000505"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:07.802616" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:07.802138" elapsed="0.000515"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:07.803167" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:07.802866" elapsed="0.000328"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:07.804095" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:07.803361" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.804644" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.804308" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.805156" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.804841" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.805700" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.805381" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.806196" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.805894" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.806769" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.806433" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.807299" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b0b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:07.806972" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:07.799277" elapsed="0.008120"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.808727" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.808476" elapsed="0.000365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:07.809252" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:07.808991" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.809741" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4deb10&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.809463" elapsed="0.000307"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:07.810192" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.809919" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.810827" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4dc4a0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.810403" elapsed="0.000452"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:07.811566" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dd28270&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.811006" elapsed="0.000588"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.811744" elapsed="0.000275"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:07.812170" elapsed="0.000279"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.812603" elapsed="0.000240"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.812991" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.813390" elapsed="0.000237"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.813775" elapsed="0.000233"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.814156" elapsed="0.000396"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.814702" elapsed="0.000358"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.815207" elapsed="0.000363"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:07.815994" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4c9530&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:07.815725" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:07.816171" elapsed="0.000266"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:07.817066" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.816583" elapsed="0.000615"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:07.817882" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:07.817371" elapsed="0.000543"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:08.293382" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2488', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:08.293607" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:08.293876" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:07.818047" elapsed="0.475891"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.299209" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.294428" elapsed="0.004924"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dd2b0b0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:07.808058" elapsed="0.491437"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:07.807555" elapsed="0.492115"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-05-25T00:37:07.794551" elapsed="0.505219"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.300916" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.300341" elapsed="0.000682"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:08.306211" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:08.306423" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:08.306063" elapsed="0.000390"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.307063" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8f90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.306607" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:08.307552" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:08.307263" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:08.308047" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:08.307767" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:08.308584" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:08.308303" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:08.309710" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:08.308764" elapsed="0.000978"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.310260" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.309908" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.310774" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.310462" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.311305" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.310972" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.311838" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.311502" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.312364" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.312039" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.312875" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c8f90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.312565" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:08.305703" elapsed="0.007274"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.314338" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.314062" elapsed="0.000339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.314809" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.314544" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.315308" level="INFO">${xml} = &lt;Element 'input' at 0x70d1405473d0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.315018" elapsed="0.000318"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:08.315777" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.315480" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.316421" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d1405460c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.316010" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.316974" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d140547740&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.316599" elapsed="0.000402"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.317146" elapsed="0.000287"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.317583" elapsed="0.000258"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.317993" elapsed="0.000239"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.318399" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.318780" elapsed="0.000237"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.319162" elapsed="0.000252"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.319562" elapsed="0.000389"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.320103" elapsed="0.000477"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.320729" elapsed="0.000351"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:08.321540" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7010&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:08.321233" elapsed="0.000340"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:08.321725" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:08.322620" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.322121" elapsed="0.000579"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:08.323368" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.322846" elapsed="0.000553"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:08.794112" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2484', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:08.794502" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:08.794766" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:08.323529" elapsed="0.471300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.800018" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.795303" elapsed="0.004816"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4c8f90&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:08.313642" elapsed="0.486649"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:08.313128" elapsed="0.487294"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-05-25T00:37:08.300011" elapsed="0.500501"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.801317" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.801046" elapsed="0.000317"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:08.804899" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:08.805065" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:08.804751" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.805716" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d60c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.805268" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:08.806191" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:08.805902" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:08.806663" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:08.806389" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:08.807114" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:08.806842" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:08.808070" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:08.807307" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.808612" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.808279" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.809158" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.808848" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.809680" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.809366" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.810172" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.809872" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.810692" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.810384" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.811193" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d60c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:08.810888" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:08.804378" elapsed="0.006928"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.812817" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.812375" elapsed="0.000554"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:08.813339" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:08.813076" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.813825" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e1d6a20&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.813549" elapsed="0.000304"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:08.814284" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.813999" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.814859" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e1d74c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.814480" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:08.815430" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e355300&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.815042" elapsed="0.000415"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.815606" elapsed="0.000266"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:08.816022" elapsed="0.000272"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.816449" elapsed="0.000238"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.816864" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.817260" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.817646" elapsed="0.000233"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.818026" elapsed="0.000373"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.818546" elapsed="0.000353"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.819044" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:08.819816" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e3841d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:08.819546" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:08.819995" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:08.820932" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.820405" elapsed="0.000649"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:08.821869" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:08.821343" elapsed="0.000558"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:09.300550" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2654', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:09.300852" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:09.301292" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:08.822033" elapsed="0.479332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.308754" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.302636" elapsed="0.006263"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e1d60c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:08.811962" elapsed="0.497144"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:08.811458" elapsed="0.497821"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-05-25T00:37:08.800806" elapsed="0.508569"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.310514" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.310114" elapsed="0.000466"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:09.315833" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:09.316102" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:09.315619" elapsed="0.000525"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.316992" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.316387" elapsed="0.000647"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:09.317684" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:09.317275" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:09.318428" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:09.318045" elapsed="0.000411"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:09.318896" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:09.318613" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:09.319731" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:09.319083" elapsed="0.000680"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.320301" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.319935" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.320819" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.320505" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.321345" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.321014" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.321925" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.321541" elapsed="0.000442"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.322493" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.322157" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.323006" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e385080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.322695" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:09.315055" elapsed="0.008049"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.324451" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.324180" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.324898" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.324653" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.325392" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e384b80&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.325097" elapsed="0.000323"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:09.325878" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.325567" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.326511" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e386980&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.326116" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.327073" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e3867f0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.326692" elapsed="0.000419"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.327341" elapsed="0.000379"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.328023" elapsed="0.000608"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.328854" elapsed="0.000342"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.329428" elapsed="0.000334"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.330053" elapsed="0.000274"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.330479" elapsed="0.000240"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.330870" elapsed="0.000332"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.331369" elapsed="0.000319"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.331837" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:09.332620" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db11120&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:09.332347" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:09.332798" elapsed="0.000390"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:09.333821" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.333370" elapsed="0.000523"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:09.334501" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.334042" elapsed="0.000490"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:09.797183" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1535', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:09.797474" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:09.797757" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:09.334665" elapsed="0.463260"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.803416" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.798437" elapsed="0.005077"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e385080&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:09.323782" elapsed="0.479829"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:09.323274" elapsed="0.480422"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-05-25T00:37:09.309685" elapsed="0.494067"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.804644" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.804195" elapsed="0.000524"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:09.813908" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:09.814401" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:09.813416" elapsed="0.001092"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.816466" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db13ba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.815010" elapsed="0.001530"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:09.817749" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:09.816988" elapsed="0.000826"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:09.818923" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:09.818172" elapsed="0.000817"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:09.819525" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:09.819222" elapsed="0.000330"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:09.820797" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:09.819714" elapsed="0.001115"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.821375" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.821008" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.821897" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.821582" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.822431" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.822097" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.822966" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.822628" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.823508" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.823172" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.824017" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db13ba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:09.823709" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:09.811941" elapsed="0.012183"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.825537" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.825275" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:09.826114" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:09.825826" elapsed="0.000382"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.826761" level="INFO">${xml} = &lt;Element 'input' at 0x70d13db13560&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.826412" elapsed="0.000380"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:09.827231" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.826947" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.827848" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13db104f0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.827450" elapsed="0.000427"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:09.828442" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13db11440&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.828030" elapsed="0.000441"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.828625" elapsed="0.000277"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:09.829058" elapsed="0.000278"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.829494" elapsed="0.000244"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.829889" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.830294" elapsed="0.000281"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.830753" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.831149" elapsed="0.000402"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.831702" elapsed="0.000368"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.832220" elapsed="0.000380"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:09.833144" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2f84a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:09.832758" elapsed="0.000414"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:09.833345" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:09.834270" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.833749" elapsed="0.000657"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:09.835146" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/t...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:09.834560" elapsed="0.000619"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:10.299699" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2704', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:10.299938" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:10.300216" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:09.835333" elapsed="0.464977"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.305003" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.300790" elapsed="0.004277"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13db13ba0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:09.824847" elapsed="0.480312"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:09.824301" elapsed="0.480964"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-05-25T00:37:09.803951" elapsed="0.501374"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.306035" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.305677" elapsed="0.000422"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:10.311161" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:10.311424" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:10.310891" elapsed="0.000576"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.312282" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.311740" elapsed="0.000571"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:10.312753" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:10.312468" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:10.313296" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:10.312991" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:10.313761" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:10.313480" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:10.314622" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:10.313943" elapsed="0.000710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.315149" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.314816" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.315706" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.315361" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.316228" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.315903" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.316762" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.316453" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.317424" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.316961" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.317969" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0c450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.317627" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:10.310382" elapsed="0.007686"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.319436" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.319163" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.319957" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.319684" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.320467" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dc0d620&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.320168" elapsed="0.000328"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:10.320919" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.320646" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.321678" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dc0c810&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.321116" elapsed="0.000591"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.322293" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dc0e160&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.321860" elapsed="0.000463"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.322476" elapsed="0.000273"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.322901" elapsed="0.000261"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.323333" elapsed="0.000268"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.323755" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.324148" elapsed="0.000261"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.324559" elapsed="0.000237"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.324946" elapsed="0.000357"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.325455" elapsed="0.000334"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.325939" elapsed="0.000370"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:10.326740" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e300f40&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:10.326466" elapsed="0.000302"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:10.326920" elapsed="0.000268"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:10.327913" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.327386" elapsed="0.000604"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:10.328636" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.328140" elapsed="0.000528"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:10.799920" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1962', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:10.800270" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:10.801075" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:10.328803" elapsed="0.472344"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.806649" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.801714" elapsed="0.005040"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dc0c450&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:10.318764" elapsed="0.488154"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:10.318223" elapsed="0.488825"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-05-25T00:37:10.305490" elapsed="0.501673"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.808667" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.807772" elapsed="0.001016"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:10.812673" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:10.812859" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:10.812518" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.813532" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.813048" elapsed="0.000514"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:10.814014" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:10.813722" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:10.814510" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:10.814209" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:10.814992" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:10.814696" elapsed="0.000325"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:10.817526" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:10.815188" elapsed="0.002371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.818080" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.817727" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.818714" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.818328" elapsed="0.000431"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.819261" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.818915" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.819771" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.819458" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.820298" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.819970" elapsed="0.000439"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.820908" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:10.820570" elapsed="0.000390"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:10.812069" elapsed="0.008958"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.822601" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.822343" elapsed="0.000371"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:10.823110" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:10.822862" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.823614" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4f7380&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.823332" elapsed="0.000311"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:10.824072" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.823792" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.824703" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4f6480&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.824285" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:10.825253" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4f7c90&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.824887" elapsed="0.000396"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.825434" elapsed="0.000269"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:10.825856" elapsed="0.000258"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.826282" elapsed="0.000252"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.826683" elapsed="0.000239"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.827074" elapsed="0.000289"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.827515" elapsed="0.000242"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.827907" elapsed="0.000361"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.828881" elapsed="0.001253"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.830573" elapsed="0.000868"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:10.832515" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0e0c0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:10.831805" elapsed="0.000776"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:10.832929" elapsed="0.000736"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:10.835614" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.834064" elapsed="0.001944"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:10.837743" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:10.836537" elapsed="0.001284"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:11.301169" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1868', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:11.301465" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:11.301829" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:10.838205" elapsed="0.463688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.307116" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.302405" elapsed="0.004777"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e301850&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:10.821834" elapsed="0.485461"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:10.821193" elapsed="0.486362"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-05-25T00:37:10.807461" elapsed="0.500150"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.308354" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.307970" elapsed="0.000450"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:11.313538" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:11.313783" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:11.313328" elapsed="0.000497"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.314749" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.314092" elapsed="0.000700"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:11.315484" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:11.315044" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:11.316154" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:11.315744" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:11.316826" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:11.316433" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:11.318117" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:11.317139" elapsed="0.001077"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.318740" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.318402" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.319278" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.318942" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.319798" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.319478" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.320321" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.319998" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.320830" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.320523" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.321397" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.321030" elapsed="0.000411"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:11.312743" elapsed="0.008754"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.322891" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.322639" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.323356" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.323096" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.323831" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dc0e7f0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.323558" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:11.324285" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.324005" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.324851" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dc0d2b0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.324478" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.326445" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dc0e610&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.325028" elapsed="0.001487"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.326862" elapsed="0.000670"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.327880" elapsed="0.000649"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.328876" elapsed="0.000628"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.329918" elapsed="0.000589"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.330848" elapsed="0.000569"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.331751" elapsed="0.000632"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.332725" elapsed="0.000875"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.333943" elapsed="0.000651"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.334849" elapsed="0.000543"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:11.336037" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4f7ba0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:11.335629" elapsed="0.000450"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:11.336328" elapsed="0.000371"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:11.337671" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.336923" elapsed="0.000888"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:11.338988" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
      ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.338057" elapsed="0.000994"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:11.802600" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1973', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:11.803024" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:11.803393" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:11.339298" elapsed="0.464160"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.808093" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.804041" elapsed="0.004120"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dc0d1c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:11.322217" elapsed="0.486074"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:11.321653" elapsed="0.486735"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-05-25T00:37:11.307774" elapsed="0.500680"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.809253" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.808855" elapsed="0.000470"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:11.813176" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:11.813422" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:11.813008" elapsed="0.000446"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.814233" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11620&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.813621" elapsed="0.000661"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:11.814745" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:11.814447" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:11.815203" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:11.814927" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:11.815671" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:11.815400" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:11.816896" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:11.815851" elapsed="0.001077"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.817466" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.817100" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.819746" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.817665" elapsed="0.002251"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.821435" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.820617" elapsed="0.000914"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.823325" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.822151" elapsed="0.001309"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.824739" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.823910" elapsed="0.000938"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.826139" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db11620&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:11.825232" elapsed="0.001053"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:11.812603" elapsed="0.013847"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.829837" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.829175" elapsed="0.001023"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:11.831123" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:11.830563" elapsed="0.000729"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.832385" level="INFO">${xml} = &lt;Element 'input' at 0x70d13db12340&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.831637" elapsed="0.000815"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:11.833466" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.832787" elapsed="0.000786"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.834605" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13db10e00&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.833957" elapsed="0.000688"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:11.835429" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13db13a60&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.834855" elapsed="0.000612"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.835681" elapsed="0.000392"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:11.836307" elapsed="0.000367"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.836892" elapsed="0.000367"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.837469" elapsed="0.000350"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.838032" elapsed="0.000374"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.838612" elapsed="0.000330"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.839191" elapsed="0.000571"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.839972" elapsed="0.000516"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.840696" elapsed="0.000501"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:11.841874" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e386750&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:11.841443" elapsed="0.000471"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:11.842118" elapsed="0.000275"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:11.843177" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.842693" elapsed="0.000619"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:11.843966" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:11.843467" elapsed="0.000530"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:12.302967" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2178', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:12.303197" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:12.303705" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:11.844152" elapsed="0.459618"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.308419" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.304285" elapsed="0.004197"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13db11620&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:11.828142" elapsed="0.480429"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:11.826825" elapsed="0.481828"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-05-25T00:37:11.808651" elapsed="0.500058"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.309435" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.309053" elapsed="0.000447"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:12.314670" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:12.314905" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:12.314456" elapsed="0.000493"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.315603" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355e90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.315153" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:12.316078" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:12.315792" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:12.316552" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:12.316273" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:12.317003" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:12.316731" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:12.317908" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:12.317256" elapsed="0.000683"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.318479" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.318109" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.318991" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.318680" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.319532" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.319186" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.320030" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.319727" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.320571" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.320227" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.321077" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355e90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.320769" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:12.313880" elapsed="0.007301"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.322572" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.322283" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.323014" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.322772" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.323508" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e354360&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.323216" elapsed="0.000319"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:12.323946" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.323680" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.324541" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e355ee0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.324146" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.325289" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e356250&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.324720" elapsed="0.000598"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.325467" elapsed="0.000268"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.325888" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.326394" elapsed="0.000247"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.326789" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.327178" elapsed="0.000258"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.327582" elapsed="0.000235"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.327963" elapsed="0.000366"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.328479" elapsed="0.000330"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.328956" elapsed="0.000361"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:12.329741" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d4400&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:12.329469" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:12.329921" elapsed="0.000249"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:12.330814" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.330335" elapsed="0.000552"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:12.331518" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
      ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.331033" elapsed="0.000517"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:12.803853" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1854', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:12.804178" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:12.804520" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:12.331683" elapsed="0.472902"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.809783" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.805053" elapsed="0.004829"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e355e90&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:12.321863" elapsed="0.488160"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:12.321354" elapsed="0.488799"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-05-25T00:37:12.308869" elapsed="0.501402"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.811443" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.810814" elapsed="0.000734"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:12.817109" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:12.817292" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:12.816963" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.817925" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.817477" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:12.818415" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:12.818112" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:12.818872" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:12.818598" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:12.819384" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:12.819088" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:12.820486" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:12.819564" elapsed="0.000953"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.821015" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.820682" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.821542" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.821213" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.822055" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.821738" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.822572" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.822265" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.823098" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.822773" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.823632" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:12.823320" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:12.816600" elapsed="0.007128"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.825031" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.824783" elapsed="0.000352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:12.825546" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:12.825296" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.826030" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e1d6430&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.825756" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:12.826490" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.826210" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.827097" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e1d6c00&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.826684" elapsed="0.000441"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:12.827668" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4a9ad0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.827290" elapsed="0.000406"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.827843" elapsed="0.000268"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:12.828277" elapsed="0.000262"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.828692" elapsed="0.000238"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.829078" elapsed="0.000253"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.829480" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.829866" elapsed="0.000234"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.830262" elapsed="0.000360"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.830771" elapsed="0.000483"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.831406" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:12.832171" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d78d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:12.831893" elapsed="0.000306"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:12.832367" elapsed="0.000249"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:12.833268" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.832764" elapsed="0.000618"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:12.834076" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:12.833532" elapsed="0.000588"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:13.305350" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2657', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:13.305658" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:13.306036" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:12.834280" elapsed="0.471822"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.310700" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.306802" elapsed="0.003963"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e1d7100&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:12.824389" elapsed="0.486490"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:12.823880" elapsed="0.487094"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-05-25T00:37:12.810521" elapsed="0.500517"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.311872" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.311502" elapsed="0.000434"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:13.319979" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:13.320373" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:13.319531" elapsed="0.000888"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.321603" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c84f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.320762" elapsed="0.000886"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:13.322317" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:13.321878" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:13.323106" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:13.322575" elapsed="0.000573"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:13.323832" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:13.323390" elapsed="0.000479"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:13.325300" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:13.324090" elapsed="0.001255"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.326088" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.325590" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.326830" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.326393" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.327721" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.327106" elapsed="0.000687"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.328391" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.328017" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.328909" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.328597" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.329440" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c84f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.329111" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:13.318043" elapsed="0.011506"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.331348" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.330778" elapsed="0.000639"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.331868" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.331611" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.332434" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4cb0b0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.332123" elapsed="0.000339"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:13.333031" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.332739" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.333678" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4ddee0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.333272" elapsed="0.000434"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.334280" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4dfec0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.333859" elapsed="0.000451"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.334465" elapsed="0.000278"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.334912" elapsed="0.000301"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.335393" elapsed="0.000796"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.336633" elapsed="0.000401"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.337314" elapsed="0.000366"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.337896" elapsed="0.000381"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.338499" elapsed="0.000605"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.339372" elapsed="0.000581"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.340175" elapsed="0.000559"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:13.341402" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf27a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:13.340965" elapsed="0.000480"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:13.341666" elapsed="0.000355"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:13.343081" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.342234" elapsed="0.000969"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:13.344367" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.343548" elapsed="0.000867"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:13.805725" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2911', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:13.805975" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:13.806262" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:13.344631" elapsed="0.461696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.810484" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.806783" elapsed="0.003764"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4c84f0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:13.330356" elapsed="0.480283"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:13.329716" elapsed="0.481002"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-05-25T00:37:13.311271" elapsed="0.499502"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.811507" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.811130" elapsed="0.000439"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:13.816640" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:13.816814" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:13.816485" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.817508" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0680&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.817003" elapsed="0.000534"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:13.817979" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:13.817693" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:13.818530" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:13.818226" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:13.818986" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:13.818711" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:13.820022" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:13.819181" elapsed="0.000878"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.820596" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.820253" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.821125" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.820800" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.821669" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.821347" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.822184" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.821867" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.822831" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.822454" elapsed="0.000430"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.823392" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0680&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:13.823045" elapsed="0.000390"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:13.815737" elapsed="0.007756"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.825831" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.825230" elapsed="0.000750"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:13.826900" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:13.826349" elapsed="0.000692"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.828226" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dcf3c90&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.827503" elapsed="0.000770"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:13.828702" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.828427" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.829441" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dcf3650&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.828896" elapsed="0.000573"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:13.829999" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dcf0720&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.829622" elapsed="0.000405"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.830179" elapsed="0.000285"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:13.830615" elapsed="0.000255"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.831022" elapsed="0.000255"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.831426" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.831808" elapsed="0.000374"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.832350" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.832744" elapsed="0.000366"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.833280" elapsed="0.000351"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.833780" elapsed="0.000328"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:13.834547" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d67f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:13.834278" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:13.834726" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:13.835634" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.835117" elapsed="0.000602"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:13.836523" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:13.835954" elapsed="0.000601"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:14.307013" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2905', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:14.307278" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:14.307548" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:13.836732" elapsed="0.470879"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.312791" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.308065" elapsed="0.004830"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf0680&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:13.824305" elapsed="0.488728"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:13.823648" elapsed="0.489512"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-05-25T00:37:13.810944" elapsed="0.502334"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.314420" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.313819" elapsed="0.000706"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:14.319552" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:14.319723" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:14.319407" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.320395" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d6e80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.319912" elapsed="0.000512"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:14.320938" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:14.320580" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:14.321552" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:14.321216" elapsed="0.000371"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:14.322486" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:14.321769" elapsed="0.000748"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:14.323609" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:14.322699" elapsed="0.000946"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.324229" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.323834" elapsed="0.000461"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.324906" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.324536" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.325529" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.325137" elapsed="0.000439"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.326110" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.325754" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.326730" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.326380" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.327351" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d6e80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.326967" elapsed="0.000436"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:14.319033" elapsed="0.008432"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.328973" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.328724" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.329473" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.329200" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.330026" level="INFO">${xml} = &lt;Element 'input' at 0x70d13ddac360&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.329691" elapsed="0.000363"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:14.330492" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.330202" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.331069" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13ddac450&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.330685" elapsed="0.000412"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.331635" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13ddaddf0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.331259" elapsed="0.000403"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.331808" elapsed="0.000265"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.332220" elapsed="0.000290"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.332660" elapsed="0.000236"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.333041" elapsed="0.000250"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.333438" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.333818" elapsed="0.000233"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.334203" elapsed="0.002048"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.336440" elapsed="0.000355"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.336945" elapsed="0.000354"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:14.337725" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d4770&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:14.337454" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:14.337903" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:14.338797" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.338315" elapsed="0.000564"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:14.339558" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.339025" elapsed="0.000594"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:14.807996" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2657', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:14.808219" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:14.808542" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:14.339754" elapsed="0.468850"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.814078" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.809163" elapsed="0.004989"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4d6e80&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:14.328282" elapsed="0.485994"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:14.327649" elapsed="0.486717"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-05-25T00:37:14.313522" elapsed="0.500899"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.815146" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.814783" elapsed="0.000426"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:14.820110" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:14.820352" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:14.819911" elapsed="0.000483"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.821273" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d58a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.820611" elapsed="0.000694"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:14.821745" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:14.821461" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:14.822205" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:14.821926" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:14.822673" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:14.822400" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:14.823691" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:14.822915" elapsed="0.000807"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.824220" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.823886" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.824772" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.824441" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.825303" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.824969" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.825810" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.825502" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.826344" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.826012" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.826856" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d58a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:14.826546" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:14.819419" elapsed="0.007535"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.828284" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.828017" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:14.828758" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:14.828496" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.829455" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4d50d0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.828969" elapsed="0.000514"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:14.829899" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.829632" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.830492" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4d6a70&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.830092" elapsed="0.000455"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:14.831100" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e302020&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.830701" elapsed="0.000428"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.831294" elapsed="0.000270"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:14.831715" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.832126" elapsed="0.000407"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.832682" elapsed="0.000273"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.833106" elapsed="0.000255"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.833510" elapsed="0.000237"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.833895" elapsed="0.000383"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.834428" elapsed="0.000349"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.834926" elapsed="0.000354"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:14.835711" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf2660&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:14.835436" elapsed="0.000302"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:14.835889" elapsed="0.000249"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:14.836834" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.836303" elapsed="0.000615"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:14.837600" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:14.837066" elapsed="0.000565"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:15.308774" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2668', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:15.309164" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:15.309469" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:14.837763" elapsed="0.471771"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.314828" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.309994" elapsed="0.004900"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4d58a0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:14.827618" elapsed="0.487366"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:14.827107" elapsed="0.487958"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-05-25T00:37:14.814593" elapsed="0.500539"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.315881" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.315518" elapsed="0.000429"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:15.320319" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:15.320489" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:15.320150" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.321170" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.320674" elapsed="0.000527"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:15.321677" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:15.321384" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:15.322155" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:15.321863" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:15.322641" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:15.322359" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:15.323612" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:15.322824" elapsed="0.000820"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.324158" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.323810" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.324747" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.324382" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.325525" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.325021" elapsed="0.000564"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.326064" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.325748" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.326768" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.326317" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.327500" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.327045" elapsed="0.000514"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:15.319777" elapsed="0.007862"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.329670" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.329279" elapsed="0.000558"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.330452" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.330049" elapsed="0.000490"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.331167" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4dde40&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.330749" elapsed="0.000459"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:15.331825" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.331445" elapsed="0.000448"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.333157" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4dcd60&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.332111" elapsed="0.001120"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.334032" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4defc0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.333490" elapsed="0.000615"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.334376" elapsed="0.000282"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.334813" elapsed="0.000261"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.335254" elapsed="0.000243"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.335645" elapsed="0.000234"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.336028" elapsed="0.000253"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.336428" elapsed="0.000234"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.336809" elapsed="0.000463"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.337435" elapsed="0.000365"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.337949" elapsed="0.000365"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:15.338817" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4a92b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:15.338484" elapsed="0.000361"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:15.339000" elapsed="0.000280"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:15.339939" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.339433" elapsed="0.000642"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:15.340782" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.340249" elapsed="0.000566"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:15.809203" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2679', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:15.809522" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:15.809798" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:15.340953" elapsed="0.468908"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.814833" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.810415" elapsed="0.004481"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf2ca0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:15.328593" elapsed="0.486397"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:15.327852" elapsed="0.487221"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-05-25T00:37:15.315325" elapsed="0.499804"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.815867" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.815501" elapsed="0.000430"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:15.820877" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:15.821102" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:15.820676" elapsed="0.000467"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.822336" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40b560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.821595" elapsed="0.000772"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:15.822823" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:15.822531" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:15.823375" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:15.823007" elapsed="0.000396"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:15.823845" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:15.823563" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:15.825061" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:15.824030" elapsed="0.001070"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.825675" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.825285" elapsed="0.000434"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.826213" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.825879" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.826751" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.826433" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.827289" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.826946" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.827801" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.827491" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.828341" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40b560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:15.828001" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:15.820158" elapsed="0.008284"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.829863" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.829548" elapsed="0.000384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:15.830513" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:15.830089" elapsed="0.000571"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.831743" level="INFO">${xml} = &lt;Element 'input' at 0x70d140546020&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.831072" elapsed="0.000734"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:15.832798" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.832159" elapsed="0.000748"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.834271" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d1405471a0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.833301" elapsed="0.000999"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:15.834843" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d140544ea0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.834454" elapsed="0.000418"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.835021" elapsed="0.000300"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:15.835476" elapsed="0.000258"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.835888" elapsed="0.000251"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.836308" elapsed="0.000244"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.836702" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.837108" elapsed="0.000278"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.837539" elapsed="0.000509"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.838200" elapsed="0.000419"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.838775" elapsed="0.000403"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:15.839721" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7600&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:15.839410" elapsed="0.000339"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:15.839904" elapsed="0.000276"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:15.840894" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.840359" elapsed="0.000659"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:15.841916" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:15.841190" elapsed="0.000759"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:16.311158" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2997', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:16.311432" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:16.311714" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:15.842092" elapsed="0.469686"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.317347" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.312294" elapsed="0.005163"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e40b560&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:15.829095" elapsed="0.488510"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:15.828596" elapsed="0.489211"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-05-25T00:37:15.815312" elapsed="0.502590"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.319144" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.318525" elapsed="0.000759"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:16.324734" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:16.324894" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:16.324574" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.325592" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354e00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.325080" elapsed="0.000542"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:16.326997" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:16.326154" elapsed="0.000909"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:16.328101" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:16.327460" elapsed="0.000701"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:16.329152" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:16.328535" elapsed="0.000677"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:16.331655" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:16.329649" elapsed="0.002084"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.332968" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.332133" elapsed="0.000940"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.334309" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.333487" elapsed="0.000926"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.335582" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.334787" elapsed="0.000897"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.337367" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.336055" elapsed="0.001435"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.338467" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.337989" elapsed="0.000525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.338980" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354e00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.338669" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:16.324163" elapsed="0.014916"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.340511" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.340254" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.340991" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.340725" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.341564" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e354360&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.341267" elapsed="0.000326"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:16.342072" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.341773" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.342699" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e355850&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.342297" elapsed="0.000431"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.343305" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e354900&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.342880" elapsed="0.000455"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.343490" elapsed="0.000274"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.343918" elapsed="0.000275"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.344376" elapsed="0.000250"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.344777" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.345169" elapsed="0.000294"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.345617" elapsed="0.001107"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.347283" elapsed="0.000933"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.348595" elapsed="0.000864"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.349898" elapsed="0.000900"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:16.351839" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0c2c0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:16.351170" elapsed="0.000734"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:16.352272" elapsed="0.000557"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:16.354748" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.353163" elapsed="0.001889"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:16.356662" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.355421" elapsed="0.001313"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:16.811427" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '3004', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:16.811625" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:16.811838" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:16.357041" elapsed="0.454855"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.816930" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.812304" elapsed="0.004725"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e354e00&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:16.339824" elapsed="0.477363"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:16.339248" elapsed="0.478098"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-05-25T00:37:16.318165" elapsed="0.499270"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.818642" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.818006" elapsed="0.000737"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:16.824263" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:16.824426" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:16.824106" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.825050" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fc90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.824609" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:16.825578" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:16.825290" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:16.826050" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:16.825759" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:16.826518" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:16.826230" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:16.827536" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:16.826712" elapsed="0.000855"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.828088" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.827733" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.828632" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.828301" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.829168" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.828847" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.829680" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.829378" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.830247" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.829875" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.830891" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0fc90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:16.830448" elapsed="0.000484"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:16.823744" elapsed="0.007241"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.832311" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.832048" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:16.832759" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:16.832517" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.833444" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dc0ccc0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.833000" elapsed="0.000473"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:16.833877" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.833620" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.834506" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dc0d620&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.834096" elapsed="0.000438"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:16.835058" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dc0f740&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.834683" elapsed="0.000402"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.835247" elapsed="0.000270"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:16.835668" elapsed="0.000255"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.836076" elapsed="0.000254"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.836477" elapsed="0.000234"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.836860" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.837261" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.837653" elapsed="0.000378"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.838178" elapsed="0.000373"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.838697" elapsed="0.000328"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:16.839467" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db11e90&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:16.839178" elapsed="0.000317"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:16.839646" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:16.840596" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.840053" elapsed="0.000661"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:16.841442" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:16.840863" elapsed="0.000611"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:17.311957" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '3000', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:17.312151" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:17.312417" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:16.841617" elapsed="0.470861"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.317598" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.312849" elapsed="0.004848"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dc0fc90&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:16.831653" elapsed="0.486175"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:16.831138" elapsed="0.486810"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-05-25T00:37:16.817684" elapsed="0.500349"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.319194" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.318629" elapsed="0.000671"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:17.324115" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:17.324349" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:17.323927" elapsed="0.000463"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.325165" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.324602" elapsed="0.000603"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:17.325875" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:17.325481" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:17.326571" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:17.326158" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:17.327197" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:17.326819" elapsed="0.000436"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:17.328071" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:17.327411" elapsed="0.000691"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.328598" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.328276" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.329103" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.328796" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.329626" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.329312" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.330119" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.329819" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.330661" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.330353" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.331162" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db10360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.330857" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:17.323459" elapsed="0.007820"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.332567" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.332318" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.333013" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.332770" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.333498" level="INFO">${xml} = &lt;Element 'input' at 0x70d13db11df0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.333215" elapsed="0.000311"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:17.333955" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.333701" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.334577" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13db125c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.334181" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.335270" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13db12610&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.334755" elapsed="0.000544"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.335448" elapsed="0.000265"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.335862" elapsed="0.000256"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.336282" elapsed="0.000240"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.336668" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.337049" elapsed="0.000263"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.337467" elapsed="0.000236"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.337847" elapsed="0.000591"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.338594" elapsed="0.000338"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.339078" elapsed="0.000344"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:17.339836" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13ddafe70&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:17.339573" elapsed="0.000291"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:17.340010" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:17.340880" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.340417" elapsed="0.000542"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:17.341610" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;tab...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.341105" elapsed="0.000537"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:17.813060" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2435', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:17.813492" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:17.813766" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:17.341787" elapsed="0.472041"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.819064" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.814412" elapsed="0.004753"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13db10360&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:17.331911" elapsed="0.487429"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:17.331429" elapsed="0.488040"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-05-25T00:37:17.318333" elapsed="0.501223"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.820693" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.820093" elapsed="0.000702"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:17.827985" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:17.828154" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:17.827838" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.828810" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ddc85e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.828357" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:17.829292" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:17.828993" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:17.829748" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:17.829476" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:17.830193" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:17.829924" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:17.831366" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:17.830406" elapsed="0.000992"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.831893" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.831563" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.832417" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.832088" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.832922" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.832608" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.833429" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.833111" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.833932" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.833625" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.834471" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ddc85e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:17.834129" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:17.827480" elapsed="0.007087"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.835871" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.835622" elapsed="0.000348"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:17.836375" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:17.836113" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.836853" level="INFO">${xml} = &lt;Element 'input' at 0x70d13ddca160&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.836582" elapsed="0.000299"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:17.837309" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.837027" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.837894" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13ddca0c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.837501" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:17.838491" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13ddcb650&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.838071" elapsed="0.000448"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.838667" elapsed="0.000267"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:17.839084" elapsed="0.000274"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.839509" elapsed="0.000237"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.839892" elapsed="0.000232"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.840285" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.840669" elapsed="0.000233"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.841048" elapsed="0.000375"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.841571" elapsed="0.001808"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.843534" elapsed="0.000341"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:17.844322" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13ddaf1f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:17.844030" elapsed="0.000320"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:17.844502" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:17.845417" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.844896" elapsed="0.000650"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:17.846227" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;tab...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:17.845696" elapsed="0.000577"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:18.314063" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2953', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:18.314303" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:18.314572" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:17.846432" elapsed="0.468201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.319529" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.315008" elapsed="0.004620"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13ddc85e0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:17.835213" elapsed="0.484545"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:17.834718" elapsed="0.485160"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-05-25T00:37:17.819802" elapsed="0.500158"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.321059" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.320500" elapsed="0.000659"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:18.325877" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:18.326011" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:18.325739" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.326644" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ddafa10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.326192" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:18.327141" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:18.326828" elapsed="0.000341"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:18.327621" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:18.327345" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:18.328068" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:18.327799" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:18.328954" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:18.328267" elapsed="0.000718"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.329487" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.329145" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.329993" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.329685" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.330528" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.330186" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.331026" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.330724" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.331547" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.331222" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.332051" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13ddafa10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.331744" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:18.325403" elapsed="0.006752"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.333490" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.333226" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.333945" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.333701" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.334443" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4f5da0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.334152" elapsed="0.000384"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:18.334944" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.334688" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.335701" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13ddc8540&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.335138" elapsed="0.000591"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.336270" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4f6020&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.335879" elapsed="0.000420"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.336448" elapsed="0.000267"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.336865" elapsed="0.000257"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.337290" elapsed="0.000239"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.337677" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.338057" elapsed="0.000250"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.338455" elapsed="0.000257"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.338858" elapsed="0.000346"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.339369" elapsed="0.000343"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.339858" elapsed="0.000326"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:18.340626" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db11fd0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:18.340358" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:18.340804" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:18.341685" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.341199" elapsed="0.000567"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:18.342428" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;ta...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.341912" elapsed="0.000547"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:18.815318" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2534', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:18.815546" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:18.815809" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:18.342654" elapsed="0.473217"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.821025" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.816364" elapsed="0.004761"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13ddafa10&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:18.332834" elapsed="0.488463"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:18.332344" elapsed="0.489082"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-05-25T00:37:18.320179" elapsed="0.501335"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.822703" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.822049" elapsed="0.000761"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:18.826615" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:18.826810" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:18.826468" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.827458" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db118a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.826996" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:18.827928" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:18.827644" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:18.828398" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:18.828108" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:18.828850" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:18.828577" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:18.829951" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:18.829030" elapsed="0.001003"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.830553" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.830199" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.831099" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.830784" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.831626" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.831310" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.832125" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.831821" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.832656" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.832346" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.833163" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13db118a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:18.832854" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:18.826095" elapsed="0.007183"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.834580" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.834331" elapsed="0.000334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:18.835049" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:18.834807" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.835669" level="INFO">${xml} = &lt;Element 'input' at 0x70d14050c9f0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.835268" elapsed="0.000428"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:18.836107" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.835841" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.836702" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d14050c3b0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.836316" elapsed="0.000413"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:18.837265" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d14050cd10&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.836878" elapsed="0.000416"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.837444" elapsed="0.000268"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:18.837901" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.838329" elapsed="0.000247"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.838763" elapsed="0.000240"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.839153" elapsed="0.000256"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.839558" elapsed="0.000236"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.839944" elapsed="0.000372"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.840467" elapsed="0.000476"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.841094" elapsed="0.000352"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:18.841867" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0f1a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:18.841599" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:18.842044" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:18.842959" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.842460" elapsed="0.000581"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:18.843715" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;ta...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:18.843188" elapsed="0.000558"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:19.316164" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2544', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:19.316554" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:19.316843" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:18.843878" elapsed="0.473028"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.322278" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.317406" elapsed="0.004978"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13db118a0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:18.833925" elapsed="0.488598"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:18.833432" elapsed="0.489217"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-05-25T00:37:18.821754" elapsed="0.500982"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.323891" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.323322" elapsed="0.000671"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:19.332308" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:19.332473" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:19.332147" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.333102" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.332659" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:19.333587" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:19.333303" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:19.334041" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:19.333768" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:19.334511" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:19.334219" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:19.335483" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:19.334690" elapsed="0.000824"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.336029" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.335689" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.336554" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.336226" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.337065" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.336749" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.337584" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.337273" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.338089" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.337780" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.338613" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.338302" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:19.331781" elapsed="0.006929"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.340251" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.339980" elapsed="0.000380"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.340758" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.340508" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.341256" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dc0dcb0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.340968" elapsed="0.000317"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:19.341698" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.341433" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.342285" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dc0f880&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.341893" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.342842" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dc0ed40&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.342462" elapsed="0.000408"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.343017" elapsed="0.000282"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.343451" elapsed="0.000260"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.343864" elapsed="0.000238"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.344265" elapsed="0.000239"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.344652" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.345037" elapsed="0.000251"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.345450" elapsed="0.000444"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.346091" elapsed="0.000649"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.346942" elapsed="0.000397"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:19.347782" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13db10950&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:19.347509" elapsed="0.000300"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:19.347959" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:19.348891" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.348369" elapsed="0.000642"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:19.349727" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;ta...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.349163" elapsed="0.000595"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:19.816952" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2536', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:19.817178" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:19.817499" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:19.349891" elapsed="0.467672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.823141" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.818048" elapsed="0.005221"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dc0e610&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:19.339404" elapsed="0.484013"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:19.338889" elapsed="0.484657"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-05-25T00:37:19.323000" elapsed="0.500634"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.824768" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.824165" elapsed="0.000705"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:19.829764" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:19.829934" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:19.829620" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.830576" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.830117" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:19.831058" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:19.830760" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:19.831526" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:19.831252" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:19.832036" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:19.831759" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:19.832952" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:19.832215" elapsed="0.000768"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.833550" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.833146" elapsed="0.000456"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.834095" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.833759" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.834646" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.834319" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.835179" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.834843" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.835725" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.835401" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.836260" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7a480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:19.835935" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:19.829259" elapsed="0.007100"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.837688" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.837441" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:19.838132" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:19.837891" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.838620" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e1d6570&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.838350" elapsed="0.000298"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:19.839070" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.838790" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.839693" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e1d5df0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.839312" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:19.840402" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e3574c0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.839870" elapsed="0.000560"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.840593" elapsed="0.000301"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:19.841054" elapsed="0.000301"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.841530" elapsed="0.000248"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.841927" elapsed="0.000237"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.842329" elapsed="0.000239"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.842713" elapsed="0.000266"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.843127" elapsed="0.000375"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.843649" elapsed="0.000353"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.844150" elapsed="0.000348"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:19.844921" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0ca90&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:19.844653" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:19.845097" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:19.845991" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.845507" elapsed="0.000565"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:19.846736" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;ta...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:19.846217" elapsed="0.000550"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:20.318115" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2546', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:20.318519" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:20.318789" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:19.846947" elapsed="0.471905"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.323851" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.319381" elapsed="0.004538"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13eb7a480&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:19.837029" elapsed="0.486984"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:19.836511" elapsed="0.487588"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-05-25T00:37:19.823872" elapsed="0.500287"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.324901" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.324548" elapsed="0.000419"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:20.329947" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:20.330167" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:20.329745" elapsed="0.000463"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.331142" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40af70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.330463" elapsed="0.000721"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:20.331865" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:20.331442" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:20.332557" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:20.332130" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:20.333194" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:20.332811" elapsed="0.000420"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:20.334789" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:20.333473" elapsed="0.001360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.335545" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.335105" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.336069" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.335744" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.336595" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.336278" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.337093" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.336791" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.337617" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.337307" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.338125" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e40af70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.337816" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:20.329256" elapsed="0.008972"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.339717" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.339331" elapsed="0.000491"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.340227" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.339976" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.340751" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4dc1d0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.340468" elapsed="0.000311"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:20.341192" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.340927" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.341792" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4def20&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.341402" elapsed="0.000418"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.342396" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4dfa10&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.341968" elapsed="0.000457"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.342573" elapsed="0.000268"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.343010" elapsed="0.000285"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.343455" elapsed="0.000237"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.343839" elapsed="0.000233"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.344219" elapsed="0.000254"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.344621" elapsed="0.000237"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.345004" elapsed="0.000380"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.345532" elapsed="0.000465"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.346145" elapsed="0.000349"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:20.346915" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf21b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:20.346648" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:20.347128" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:20.348038" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.347537" elapsed="0.000617"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:20.348853" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.348319" elapsed="0.000566"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:20.819539" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2946', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:20.819783" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:20.820060" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:20.349018" elapsed="0.471108"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.825785" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.820691" elapsed="0.005202"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e40af70&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:20.338891" elapsed="0.487156"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:20.338396" elapsed="0.487786"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-05-25T00:37:20.324348" elapsed="0.501963"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.827511" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.826901" elapsed="0.000657"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:20.831124" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:20.831321" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:20.830939" elapsed="0.000412"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.831977" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf38d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.831515" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:20.832568" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:20.832167" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:20.833030" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:20.832751" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:20.833503" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:20.833210" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:20.834499" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:20.833682" elapsed="0.000848"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.835051" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.834695" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.835577" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.835264" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.836083" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.835770" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.836594" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.836290" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.837101" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.836791" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.837630" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf38d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:20.837320" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:20.830573" elapsed="0.007155"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.839309" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.838998" elapsed="0.000377"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:20.839765" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:20.839520" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.840300" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dcf14e0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.840008" elapsed="0.000320"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:20.840746" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.840475" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.841346" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dcf25c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.840940" elapsed="0.000436"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:20.841911" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dcf39c0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.841529" elapsed="0.000410"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.842089" elapsed="0.000287"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:20.842529" elapsed="0.000257"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.842940" elapsed="0.000259"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.843364" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.843750" elapsed="0.000236"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.844132" elapsed="0.000255"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.844538" elapsed="0.000370"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.845057" elapsed="0.000376"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.845585" elapsed="0.000333"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:20.846362" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2c4bd0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:20.846074" elapsed="0.000320"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:20.846547" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:20.847683" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.846942" elapsed="0.000900"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:20.848549" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
              ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:20.847995" elapsed="0.000585"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:21.320589" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2952', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:21.320821" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:21.321089" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:20.848714" elapsed="0.472437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.325703" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.321714" elapsed="0.004055"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13dcf38d0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:20.838597" elapsed="0.487264"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:20.837881" elapsed="0.488064"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-05-25T00:37:20.826577" elapsed="0.499423"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.326772" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.326394" elapsed="0.000445"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:21.331907" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:21.332160" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:21.331699" elapsed="0.000503"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.333089" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c5580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.332457" elapsed="0.000673"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:21.333864" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:21.333374" elapsed="0.000529"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:21.334565" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:21.334124" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:21.335283" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:21.334820" elapsed="0.000503"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:21.336301" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:21.335500" elapsed="0.000833"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.336861" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.336498" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.337398" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.337064" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.337926" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.337606" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.338451" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.338121" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.338971" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.338657" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.339526" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c5580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.339195" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:21.331157" elapsed="0.008477"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.340968" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.340714" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.341445" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.341176" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.341986" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e2c6c00&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.341704" elapsed="0.000311"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:21.342461" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.342164" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.343324" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e2c56c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.342665" elapsed="0.000688"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.343917" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e2c7c90&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.343507" elapsed="0.000438"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.344098" elapsed="0.000314"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.344581" elapsed="0.000301"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.345042" elapsed="0.000265"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.345458" elapsed="0.000249"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.345866" elapsed="0.000244"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.346310" elapsed="0.000259"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.346737" elapsed="0.000422"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.347330" elapsed="0.000353"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.347869" elapsed="0.000353"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:21.348712" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2c93f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:21.348427" elapsed="0.000314"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:21.348919" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:21.349873" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.349343" elapsed="0.000618"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:21.350700" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.350112" elapsed="0.000672"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:21.821387" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2665', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:21.821614" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:21.821875" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:21.350943" elapsed="0.470994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.827180" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.822450" elapsed="0.004861"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e2c5580&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:21.340306" elapsed="0.487147"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:21.339789" elapsed="0.487796"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-05-25T00:37:21.326165" elapsed="0.501508"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.828817" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.828212" elapsed="0.000707"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:21.833821" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:21.834013" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:21.833674" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.834657" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c9b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.834201" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:21.835144" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:21.834844" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:21.835619" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:21.835343" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:21.836073" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:21.835799" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:21.838627" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:21.836324" elapsed="0.002335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.839185" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.838824" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.839714" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.839399" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.840225" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.839909" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.840792" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.840459" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.841334" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.840998" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.841871" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c9b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:21.841545" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:21.833317" elapsed="0.008654"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.843376" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.843065" elapsed="0.000373"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:21.843844" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:21.843594" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.844349" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4d53f0&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.844052" elapsed="0.000324"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:21.844811" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.844537" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.845397" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4d4ef0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.845004" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:21.845957" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dd29d00&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.845592" elapsed="0.000393"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.846133" elapsed="0.000325"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:21.846628" elapsed="0.000264"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.847047" elapsed="0.000279"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.847475" elapsed="0.000251"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.847875" elapsed="0.000239"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.848279" elapsed="0.000237"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.848681" elapsed="0.000355"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.849188" elapsed="0.000358"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.849710" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:21.850492" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2c7010&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:21.850201" elapsed="0.000320"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:21.850687" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:21.851749" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.851090" elapsed="0.000738"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:21.852512" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;tab...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:21.851977" elapsed="0.000567"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:22.322024" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2136', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:22.322358" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:22.322644" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:21.852684" elapsed="0.470036"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.328088" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.323204" elapsed="0.004984"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e2c9b70&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:21.842659" elapsed="0.485695"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:21.842125" elapsed="0.486355"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-05-25T00:37:21.827916" elapsed="0.500651"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.329812" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.329114" elapsed="0.000847"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:22.334410" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:22.334579" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:22.334257" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.335219" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7290&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.334766" elapsed="0.000500"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:22.335719" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:22.335429" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:22.336200" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:22.335901" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:22.336680" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:22.336400" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:22.337469" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:22.336861" elapsed="0.000640"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.338005" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.337669" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.338556" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.338217" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.339090" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.338755" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.339650" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.339329" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.340180" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.339852" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.340730" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7290&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.340406" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:22.333858" elapsed="0.006972"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.342191" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.341928" elapsed="0.000378"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.342704" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.342456" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.343301" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e2c5f30&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.342938" elapsed="0.000393"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:22.343755" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.343481" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.344343" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e2c6f20&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.343949" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.344880" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e2c4ef0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.344524" elapsed="0.000383"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.345058" elapsed="0.000301"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.345515" elapsed="0.000433"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.346105" elapsed="0.000273"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.346530" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.346916" elapsed="0.000268"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.347362" elapsed="0.000242"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.347756" elapsed="0.000369"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.348319" elapsed="0.000336"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.348807" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:22.349603" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e302d90&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:22.349325" elapsed="0.000305"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:22.349782" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:22.350633" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.350180" elapsed="0.000524"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:22.351354" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
        ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.350852" elapsed="0.000571"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:22.823694" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1597', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:22.823887" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:22.824145" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:22.351560" elapsed="0.472646"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.829480" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.824691" elapsed="0.004890"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e2c7290&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:22.341527" elapsed="0.488195"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:22.340986" elapsed="0.488862"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-05-25T00:37:22.328805" elapsed="0.501132"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.831084" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.830500" elapsed="0.000813"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:22.835037" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:22.835384" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:22.834890" elapsed="0.000525"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.836164" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.835716" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:22.836676" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:22.836365" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:22.837151" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:22.836867" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:22.837628" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:22.837356" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:22.838569" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:22.837804" elapsed="0.000797"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.839320" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.838766" elapsed="0.000598"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.839833" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.839521" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.840429" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.840096" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.840931" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.840628" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.841493" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.841126" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.842032" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:22.841695" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:22.834529" elapsed="0.007604"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.843534" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.843281" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:22.843980" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:22.843736" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.844474" level="INFO">${xml} = &lt;Element 'input' at 0x70d13dcf3b00&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.844182" elapsed="0.000320"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:22.844940" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.844648" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.845556" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13dcf01d0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.845145" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:22.846088" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13dcf23e0&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.845733" elapsed="0.000382"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.846277" elapsed="0.000266"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:22.846693" elapsed="0.000256"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.847112" elapsed="0.000285"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.847544" elapsed="0.000262"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.847966" elapsed="0.000249"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.848428" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.848825" elapsed="0.000345"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.849333" elapsed="0.000335"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.849814" elapsed="0.000328"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:22.850580" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4ddc60&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:22.850311" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:22.850759" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:22.851718" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.851186" elapsed="0.000614"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:22.852498" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:22.851953" elapsed="0.000577"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:23.324381" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '2032', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:23.324680" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:23.324937" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:22.852668" elapsed="0.472329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.330139" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:23.325474" elapsed="0.004793"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e300f40&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:22.842810" elapsed="0.487598"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:22.842304" elapsed="0.488228"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-05-25T00:37:22.830176" elapsed="0.500443"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.331613" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:23.331200" elapsed="0.000459"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:23.335197" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:23.335376" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:23.335036" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:23.335986" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de340&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:23.335560" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:23.336471" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:23.336169" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:23.336923" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:23.336654" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:23.337390" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:23.337102" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:23.338185" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:23.337570" elapsed="0.000646"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.338726" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:23.338395" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.339274" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:23.338925" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.339796" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:23.339472" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.340310" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:23.339991" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.340819" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:23.340509" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.341345" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4de340&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:23.341019" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:23.334680" elapsed="0.006762"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Update Flow Via RPC" owner="FlowLib">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.342751" level="INFO">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;
</msg>
<arg>${configured_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:23.342501" elapsed="0.000346"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.343286" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${updating_flow_body}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:23.342991" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:23.343764" level="INFO">${xml} = &lt;Element 'input' at 0x70d13e4dc860&gt;</msg>
<var>${xml}</var>
<arg>&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;/input&gt;</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:23.343491" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:23.344203" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service" /&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.343939" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:23.344776" level="INFO">${origflow} = &lt;Element 'flow' at 0x70d13e4dd6c0&gt;</msg>
<var>${origflow}</var>
<arg>${configured_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:23.344416" elapsed="0.000388"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:23.345326" level="INFO">${updflow} = &lt;Element 'flow' at 0x70d13e4ab010&gt;</msg>
<var>${updflow}</var>
<arg>${updating_flow_body}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:23.344954" elapsed="0.000400"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${origflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:23.345501" elapsed="0.000413"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${updflow}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:23.346065" elapsed="0.000278"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${origflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.346497" elapsed="0.000241"/>
</kw>
<kw name="Remove Element Attribute" owner="XML">
<arg>${updflow}</arg>
<arg>xmlns</arg>
<doc>Removes attribute ``name`` from the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.346887" elapsed="0.000235"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${origflow}</arg>
<arg>original-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.347302" elapsed="0.000238"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${updflow}</arg>
<arg>updated-flow</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.347688" elapsed="0.000234"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${origflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.348068" elapsed="0.000349"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>${updflow}</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.348570" elapsed="0.000325"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${xml}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.349041" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:23.349810" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4cb1a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${xml}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:23.349540" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:23.349986" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:23.350833" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${xml}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.350398" elapsed="0.000541"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:23.351593" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
     ...</msg>
<var>${strxml}</var>
<arg>${xml}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:23.351087" elapsed="0.000538"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:23.824980" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 path_url=/rests/operations/sal-flow:update-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1871', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;&lt;original-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/original-flow&gt;&lt;updated-flow&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/updated-flow&gt;&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:23.825094" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:23.825277" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:update-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:23.351756" elapsed="0.473553"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:23.827779" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:23.825566" elapsed="0.002259"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x70d13e4de340&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:23.342086" elapsed="0.485807"/>
</kw>
<arg>Update Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:23.341594" elapsed="0.486359"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-05-25T00:37:23.330856" elapsed="0.497138"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-05-25T00:36:58.722087" elapsed="25.105980"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.828778" level="INFO">Slept 3 seconds.</msg>
<arg>${flow_update_time}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="PASS" start="2026-05-25T00:37:23.828245" elapsed="3.000764"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:37:26.833710" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:37:26.829605" elapsed="0.004249"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:37:26.965891" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=93.335s, table=0, n_packets=17, n_bytes=1326, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x1, duration=28.065s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=drop
 cookie=0x1f, duration=16.501s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=TABLE
 cookie=0x24, duration=15.990s, table=2, n_packets=0, n_bytes=0, priority=36,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x26, duration=15.489s, table=2, n_packets=0, n_bytes=0, priority=38,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0xdc, duration=3.479s, table=2, n_packets=0, n_bytes=0, priority=220,ip,nw_dst=10.0.0.0/24 actions=write_metadata:0xa/0xc
 cookie=0xdb, duration=3.977s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xda, duration=4.478s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=4.978s, table=2, n_packets=0, n_bytes=0, priority=214,ip,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=240,nw_ecn=1 actions=drop
 cookie=0x15, duration=19.012s, table=2, n_packets=0, n_bytes=0, priority=21,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80::2acf:e9ff:fe21:6431,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x16, duration=18.507s, table=2, n_packets=0, n_bytes=0, priority=22,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x65, duration=13.997s, table=2, n_packets=0, n_bytes=0, priority=101,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x68, duration=12.493s, table=2, n_packets=0, n_bytes=0, priority=104,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xd1, duration=5.480s, table=2, n_packets=0, n_bytes=0, priority=209,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xa, duration=23.518s, table=2, n_packets=0, n_bytes=0, priority=10,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=drop
 cookie=0xb, duration=23.016s, table=2, n_packets=0, n_bytes=0, priority=11,icmp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=108,nw_ecn=3,icmp_type=6,icmp_code=3 actions=drop
 cookie=0xcd, duration=6.482s, table=2, n_packets=0, n_bytes=0, priority=205,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=drop
 cookie=0xce, duration=5.982s, table=2, n_packets=0, n_bytes=0, priority=206,sctp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=0,nw_ecn=0,tp_src=768,tp_dst=384 actions=drop
 cookie=0xc9, duration=8.488s, table=2, n_packets=0, n_bytes=0, priority=201,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xca, duration=7.987s, table=2, n_packets=0, n_bytes=0, priority=202,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xcb, duration=7.482s, table=2, n_packets=0, n_bytes=0, priority=203,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0xcc, duration=6.984s, table=2, n_packets=0, n_bytes=0, priority=204,udp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x6b, duration=10.987s, table=2, n_packets=0, n_bytes=0, priority=107,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x6c, duration=10.472s, table=2, n_packets=0, n_bytes=0, priority=108,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x6d, duration=9.990s, table=2, n_packets=0, n_bytes=0, priority=109,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x71, duration=8.985s, table=2, n_packets=0, n_bytes=0, priority=113,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.64.0.0/10,nw_dst=172.168.192.0/18,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x6e, duration=9.490s, table=2, n_packets=0, n_bytes=0, priority=110,tcp6,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x6a, duration=11.491s, table=2, n_packets=0, n_bytes=0, priority=106,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a987:6000:0/100,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=drop
 cookie=0x69, duration=11.993s, table=2, n_packets=0, n_bytes=0, priority=105,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdcd:a000::/84,ipv6_dst=fe80:2acf:e9ff:fe21::6431,nw_tos=180,nw_ecn=2,tp_src=20345,tp_dst=80 actions=drop
 cookie=0x66, duration=13.485s, table=2, n_packets=0, n_bytes=0, priority=102,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x67, duration=12.994s, table=2, n_packets=0, n_bytes=0, priority=103,tcp,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x2d, duration=14.501s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=TABLE
 cookie=0x2b, duration=14.987s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=drop
 cookie=0x17, duration=18.009s, table=2, n_packets=0, n_bytes=0, priority=23,tcp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,tp_src=183,tp_dst=8080 actions=drop
 cookie=0x19, duration=16.995s, table=2, n_packets=0, n_bytes=0, priority=25,icmp6,metadata=0x3039,ipv6_src=1234:5678:9abc:def0:fdc0::/76,ipv6_dst=fe80:2acf:e9ff:fe21::6431,ipv6_label=0x00021,nw_tos=240,nw_ecn=3,icmp_type=6,icmp_code=3 actions=drop
 cookie=0x18, duration=17.497s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=drop
 cookie=0x14, duration=19.513s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=drop
 cookie=0x13, duration=20.016s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=drop
 cookie=0x12, duration=20.511s, table=2, n_packets=0, n_bytes=0, priority=18,ipv6,ipv6_src=fe80::2acf:e9ff:fe21:6431,ipv6_dst=aabb:1234:2acf:e9ff::/64 actions=drop
 cookie=0x11, duration=21.013s, table=2, n_packets=0, n_bytes=0, priority=17,mpls,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61,mpls_label=567,mpls_tc=3,mpls_bos=1 actions=drop
 cookie=0x10, duration=21.513s, table=2, n_packets=0, n_bytes=0, priority=16,ip,dl_vlan=78,dl_vlan_pcp=3,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=drop
 cookie=0xf, duration=22.015s, table=2, n_packets=0, n_bytes=0, priority=15,mpls,dl_vlan=78,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:29:01:19:61 actions=drop
 cookie=0xe, duration=22.515s, table=2, n_packets=0, n_bytes=0, priority=14,arp,dl_src=00:00:fc:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=192.168.4.1,arp_tpa=10.21.22.23,arp_op=1,arp_sha=12:34:56:78:98:ab,arp_tha=fe:dc:ba:98:76:54 actions=drop
 cookie=0x9, duration=24.017s, table=2, n_packets=0, n_bytes=0, priority=9,udp,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=20:14:29:01:19:61,nw_src=19.1.0.0/16,nw_dst=172.168.5.0/24,nw_tos=32,nw_ecn=3,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x8, duration=24.519s, table=2, n_packets=0, n_bytes=0, priority=8,tcp,in_port=0,dl_src=00:00:00:11:23:00/ff:ff:ff:ff:ff:00,dl_dst=ff:ff:29:01:19:61,nw_src=17.0.0.0/8,nw_dst=172.168.0.0/16,nw_tos=8,nw_ecn=2,tp_src=25364,tp_dst=8080 actions=drop
 cookie=0x7, duration=25.023s, table=2, n_packets=0, n_bytes=0, priority=7,ip,in_port=0,dl_src=00:00:00:11:23:ae,dl_dst=ff:ff:ff:ff:ff:aa,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16,nw_proto=56,nw_tos=60,nw_ecn=1 actions=drop
 cookie=0x6, duration=25.524s, table=2, n_packets=0, n_bytes=0, priority=6,ip,dl_src=00:00:00:01:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=40.4.0.0/16 actions=drop
 cookie=0x5, duration=26.023s, table=2, n_packets=0, n_bytes=0, priority=5,ip,in_port=0,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff,nw_src=10.1.2.0/24,nw_dst=20.4.0.0/16 actions=drop
 cookie=0x4, duration=26.532s, table=2, n_packets=0, n_bytes=0, priority=4,mpls,dl_src=00:00:00:00:23:ae,dl_dst=ff:ff:ff:ff:ff:ff actions=drop
 cookie=0x3, duration=27.032s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=TABLE
 cookie=0x2, duration=27.525s, table=2, n_packets=0, n_bytes=0, priority=2,ip,nw_src=10.0.0.1 actions=TABLE
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:37:26.834260" elapsed="0.131995"/>
</kw>
<doc>Update all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-05-25T00:36:58.721727" elapsed="28.244713"/>
</test>
<test id="s1-s3-s2-t52" name="Test Is Flow 1 Updated" line="161">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:26.978385" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:26.978598" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:26.978209" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:26.979316" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca7f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:26.978831" elapsed="0.000515"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:26.979802" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:26.979505" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:26.980278" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:26.979984" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:26.980740" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:26.980461" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:26.981772" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:26.980921" elapsed="0.000884"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.982349" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:26.981975" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.982933" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:26.982551" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.983490" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:26.983136" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.984017" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:26.983694" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.984560" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:26.984219" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.985086" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca7f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:26.984760" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:26.977854" elapsed="0.007332"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.985770" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:26.985357" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.986204" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:26.985957" elapsed="0.000323"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:26.994084" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:26.993771" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:26.999654" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:26.999816" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:26.999917" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:26.994303" elapsed="0.005640"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.000391" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.000107" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.002603" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.000583" elapsed="0.002073"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.005007" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.002739" elapsed="0.002374"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.002714" elapsed="0.002435"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.005376" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.005705" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.005509" elapsed="0.000270"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.005485" elapsed="0.000329"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.005860" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:27.008179" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.008263" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:26.993446" elapsed="0.014853"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.011363" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.009078" elapsed="0.002351"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.009052" elapsed="0.002409"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.012264" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.011675" elapsed="0.000630"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.013045" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.012538" elapsed="0.000545"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.013155" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:27.013431" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.008601" elapsed="0.004867"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.013696" elapsed="0.000693"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:26.992843" elapsed="0.021637"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.022673" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.022366" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.033787" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.041747" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mas... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.042445" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.022855" elapsed="0.019652"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.043553" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.042932" elapsed="0.000683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.046176" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;572000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;69000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;628000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;579000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;95000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;540000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;44000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;547000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;544000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.043761" elapsed="0.003085"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.048732" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.046921" elapsed="0.001862"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.046901" elapsed="0.001905"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.069771" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.069820" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.048950" elapsed="0.020895"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.071761" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.069927" elapsed="0.001893"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.069907" elapsed="0.001939"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.071880" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:27.072082" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.072128" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.021965" elapsed="0.050187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.074381" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.072747" elapsed="0.001681"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.072728" elapsed="0.001723"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.075043" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.074605" elapsed="0.000467"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.075617" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.075254" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.075696" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.075879" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.072403" elapsed="0.003502"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.076065" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.021337" elapsed="0.055202"/>
</kw>
<arg>f1.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:26.974485" elapsed="0.102113"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:26.966972" elapsed="0.109744"/>
</test>
<test id="s1-s3-s2-t53" name="Test Is Flow 2 Updated" line="163">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.088024" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.088178" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.087878" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.088788" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a99e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.088381" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.089276" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.088974" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.089739" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.089463" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.090195" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.089921" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.091035" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.090393" elapsed="0.000674"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.091585" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.091231" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.092166" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.091833" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.092721" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.092382" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.093254" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.092920" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.093791" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.093459" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.094333" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4a99e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.093992" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.087540" elapsed="0.006893"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.095006" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.094587" elapsed="0.000450"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.095458" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.095192" elapsed="0.000326"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.103618" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.103309" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.108984" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.109119" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.109218" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.103778" elapsed="0.005486"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.109739" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.109428" elapsed="0.000375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.112788" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.110004" elapsed="0.002855"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.115571" elapsed="0.000046"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.112958" elapsed="0.002714"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.112931" elapsed="0.002777"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.115909" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.116300" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.116087" elapsed="0.000288"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.116062" elapsed="0.000347"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.116455" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:27.118741" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.118841" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.102974" elapsed="0.015901"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.121251" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.119641" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.119624" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.121885" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.121473" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.122448" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.122076" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.122525" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:27.122706" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.119175" elapsed="0.003556"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.122904" elapsed="0.000411"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.102372" elapsed="0.021008"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.131317" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.130973" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.141339" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.142586" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mas... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.143379" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.131476" elapsed="0.011966"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.144416" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.143807" elapsed="0.000715"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.150738" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;572000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;69000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;628000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;579000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;95000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;540000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;44000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;547000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;544000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.144843" elapsed="0.007070"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.153777" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.151989" elapsed="0.001838"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.151969" elapsed="0.001881"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.176170" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.176219" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.153993" elapsed="0.022263"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.178130" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.176338" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.176319" elapsed="0.001894"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.178262" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:27.178464" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.178509" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.130522" elapsed="0.048009"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.180745" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.179128" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.179110" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.181421" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.180963" elapsed="0.000486"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.181974" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.181619" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.182049" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.182228" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.178780" elapsed="0.003489"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.182428" elapsed="0.000452"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.129874" elapsed="0.053071"/>
</kw>
<arg>f2.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.084200" elapsed="0.098805"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.077127" elapsed="0.106001"/>
</test>
<test id="s1-s3-s2-t54" name="Test Is Flow 3 Updated" line="165">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.194159" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.194335" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.194017" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.194981" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2b60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.194520" elapsed="0.000490"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.195469" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.195165" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.195918" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.195648" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.196381" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.196094" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.197152" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.196557" elapsed="0.000625"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.197693" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.197357" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.198276" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.197931" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.198848" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.198474" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.199379" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.199046" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.199899" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.199579" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.200473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2b60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.200128" elapsed="0.000388"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.193682" elapsed="0.006889"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.201110" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.200727" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.201553" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.201308" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.209597" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.209285" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.215414" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.215544" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.215643" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.209758" elapsed="0.005910"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.216087" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.215831" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.218313" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.216298" elapsed="0.002067"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.220249" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.218438" elapsed="0.001884"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.218417" elapsed="0.001931"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.220492" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.220759" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.220586" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.220569" elapsed="0.000270"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.220873" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:27.222558" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.222604" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.208947" elapsed="0.013681"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.225378" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.223214" elapsed="0.002228"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.223196" elapsed="0.002277"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.226256" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.225684" elapsed="0.000612"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.227059" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.226523" elapsed="0.000573"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.227166" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:27.227439" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.222878" elapsed="0.004596"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.227694" elapsed="0.000558"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.208380" elapsed="0.019964"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.238414" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.238097" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.247597" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.248389" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mas... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.248779" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.238571" elapsed="0.010246"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.249426" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.249042" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.253389" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;572000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;69000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;628000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;579000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;95000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;540000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;44000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;547000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;544000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.249691" elapsed="0.004629"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.256942" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.254423" elapsed="0.002589"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.254395" elapsed="0.002649"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.326536" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.326601" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.257262" elapsed="0.069364"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.328627" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.326767" elapsed="0.001923"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.326721" elapsed="0.001997"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.328756" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:37:27.328976" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.329022" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.237715" elapsed="0.091330"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.331325" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.329682" elapsed="0.001691"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.329663" elapsed="0.001733"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.332009" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.331552" elapsed="0.000485"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.332579" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.332203" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.332658" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.332842" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.329316" elapsed="0.003552"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.333028" elapsed="0.000424"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.237037" elapsed="0.096479"/>
</kw>
<arg>f3.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.190356" elapsed="0.143219"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.183485" elapsed="0.150211"/>
</test>
<test id="s1-s3-s2-t55" name="Test Is Flow 4 Updated" line="167">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.344846" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.345009" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.344700" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.345637" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47ca90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.345194" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.346107" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.345820" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.346580" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.346305" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.347068" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.346792" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.347917" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.347262" elapsed="0.000686"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.348461" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.348108" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.349054" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.348722" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.349605" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.349268" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.350290" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.349801" elapsed="0.000537"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.350848" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.350495" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.351392" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47ca90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.351049" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.344362" elapsed="0.007130"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.352071" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.351644" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.352523" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.352273" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.360365" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.360042" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.365690" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.365829" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.365928" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.360524" elapsed="0.005430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.366400" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.366118" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.369087" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.366591" elapsed="0.002568"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.371776" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.369280" elapsed="0.002593"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.369250" elapsed="0.002658"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.372109" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.372506" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.372312" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.372286" elapsed="0.000328"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.372660" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:27.374978" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.375041" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.359721" elapsed="0.015351"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.378084" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.375859" elapsed="0.002289"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.375834" elapsed="0.002347"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.379004" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.378405" elapsed="0.000637"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.379734" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.379290" elapsed="0.000471"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.379811" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.379990" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.375394" elapsed="0.004621"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.380173" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.359139" elapsed="0.021502"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.388488" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.388170" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.398315" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.399120" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mas... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.399537" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.388645" elapsed="0.010929"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.400176" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.399812" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.404135" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;35000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;548000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;53000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;556000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;54000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;48000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;559000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;557000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;52000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;553000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;550000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;60000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;64000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;558000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;572000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;69000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;628000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;579000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;78000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;45000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;41000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;95000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;2&lt;/second&gt;&lt;nanosecond&gt;541000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;87000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;1&lt;/second&gt;&lt;nanosecond&gt;540000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;586000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;44000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;547000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;42000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;544000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.400465" elapsed="0.004598"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.407687" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.405165" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.405137" elapsed="0.002624"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.430343" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.430394" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.407905" elapsed="0.022512"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.432325" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.430507" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.430484" elapsed="0.001928"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.432447" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:37:27.432660" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.432705" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.387790" elapsed="0.044938"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.434957" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.433333" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.433314" elapsed="0.001713"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.435622" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.435178" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.436168" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.435815" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.436263" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:27.436446" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.432968" elapsed="0.003504"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.436635" elapsed="0.000399"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.387157" elapsed="0.049940"/>
</kw>
<arg>f4.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.341053" elapsed="0.096102"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.334011" elapsed="0.103282"/>
</test>
<test id="s1-s3-s2-t56" name="Test Is Flow 5 Updated" line="169">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.448394" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.448561" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.448248" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.449167" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.448746" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.449657" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.449366" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.450112" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.449840" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.450579" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.450306" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.451478" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.450790" elapsed="0.000718"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.452038" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.451668" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.452643" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.452306" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.453170" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.452841" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.453698" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.453381" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.454217" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.453896" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.454806" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4df420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.454432" elapsed="0.000419"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.447902" elapsed="0.007006"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.455484" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.455060" elapsed="0.000456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.455914" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.455669" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.463967" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.463659" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.468513" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.468648" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.468745" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.464127" elapsed="0.004644"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.469190" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.468934" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.471444" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.469404" elapsed="0.002093"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.474050" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.471569" elapsed="0.002577"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.471549" elapsed="0.002632"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.474447" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.474792" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.474579" elapsed="0.000289"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.474555" elapsed="0.000348"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.474949" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:27.477267" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.477333" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.463339" elapsed="0.014028"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.480417" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.478134" elapsed="0.002349"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.478109" elapsed="0.002406"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.481300" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.480719" elapsed="0.000620"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.482064" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.481568" elapsed="0.000533"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.482171" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:37:27.482446" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.477665" elapsed="0.004817"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.482750" elapsed="0.000570"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.462756" elapsed="0.020653"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.491330" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.491011" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.501409" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.509550" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.510322" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.491489" elapsed="0.018897"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.511434" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.510816" elapsed="0.000724"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.514167" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.511720" elapsed="0.003123"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.516735" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.514918" elapsed="0.001867"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.514898" elapsed="0.001911"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.540324" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.540376" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.516952" elapsed="0.023447"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.542308" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.540490" elapsed="0.001878"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.540468" elapsed="0.001937"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.542442" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:37:27.542670" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.542760" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.490611" elapsed="0.052174"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.544990" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.543401" elapsed="0.001635"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.543383" elapsed="0.001676"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.545659" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.545214" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.546348" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.545976" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.546424" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.546620" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.543032" elapsed="0.003614"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.546837" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.489972" elapsed="0.057348"/>
</kw>
<arg>f5.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.444611" elapsed="0.102768"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.437620" elapsed="0.109884"/>
</test>
<test id="s1-s3-s2-t57" name="Test Is Flow 6 Updated" line="171">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.558621" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.558821" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.558465" elapsed="0.000386"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.559449" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.559008" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.559920" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.559636" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.560392" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.560102" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.560844" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.560571" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.561700" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.561022" elapsed="0.000709"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.562226" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.561889" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.562881" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.562492" elapsed="0.000434"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.563435" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.563082" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.563952" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.563633" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.564493" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.564151" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.565016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cb600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.564692" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.558115" elapsed="0.006999"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.565671" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.565281" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.566103" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.565857" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.574212" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.573903" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.579393" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.579527" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.579628" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.574389" elapsed="0.005267"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.580075" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.579819" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.582266" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.580281" elapsed="0.002038"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.584169" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.582392" elapsed="0.001858"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.582372" elapsed="0.001905"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.584422" elapsed="0.000057"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.584692" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.584553" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.584536" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.584802" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:37:27.586470" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.586517" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.573580" elapsed="0.012961"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.589248" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.587156" elapsed="0.002161"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.587138" elapsed="0.002212"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.590121" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.589555" elapsed="0.000604"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.590963" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.590408" elapsed="0.000593"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.591071" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:37:27.591349" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.586814" elapsed="0.004572"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.591610" elapsed="0.000545"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.572994" elapsed="0.019272"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.602389" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.602011" elapsed="0.000406"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.612481" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.613416" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.613801" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.602549" elapsed="0.011289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.614449" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.614064" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.618370" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.614738" elapsed="0.004603"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.621941" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.619445" elapsed="0.002567"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.619417" elapsed="0.002627"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.647535" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.647584" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.622261" elapsed="0.025346"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.649439" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.647689" elapsed="0.001808"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.647669" elapsed="0.001854"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.649557" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:27.649760" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.649805" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.601631" elapsed="0.048196"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.652059" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.650408" elapsed="0.001698"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.650389" elapsed="0.001739"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.652744" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.652293" elapsed="0.000479"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.653332" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.652938" elapsed="0.000421"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.653408" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:37:27.653599" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.650053" elapsed="0.003571"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.653780" elapsed="0.000390"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.600984" elapsed="0.053262"/>
</kw>
<arg>f6.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.554831" elapsed="0.099475"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.547811" elapsed="0.106614"/>
</test>
<test id="s1-s3-s2-t58" name="Test Is Flow 7 Updated" line="173">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.665627" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.665780" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.665485" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.666405" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca7f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.665963" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.666911" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.666588" elapsed="0.000351"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.667380" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.667092" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.667832" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.667557" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.668752" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.668008" elapsed="0.000775"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.669293" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.668944" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.669865" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.669535" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.670411" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.670062" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.670954" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.670612" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.671486" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.671151" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.672003" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca7f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.671682" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.665139" elapsed="0.006961"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.672654" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.672265" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.673079" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.672836" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.681193" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.680885" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.686279" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.686427" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.686529" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.681369" elapsed="0.005186"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.687024" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.686757" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.689247" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.687216" elapsed="0.002085"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.691184" elapsed="0.000037"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.689384" elapsed="0.001970"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.689358" elapsed="0.002027"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.691535" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.691763" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.691627" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.691610" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.691870" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:27.693540" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.693585" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.680565" elapsed="0.013043"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.695895" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.694172" elapsed="0.001789"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.694154" elapsed="0.001838"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.696819" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.696200" elapsed="0.000657"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.697602" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.697083" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.697709" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:27.697960" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.693834" elapsed="0.004161"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.698214" elapsed="0.000620"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.679979" elapsed="0.018947"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.708177" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.707872" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.717399" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.718193" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.718609" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.708353" elapsed="0.010294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.719278" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.718897" elapsed="0.000447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.723291" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.719549" elapsed="0.004644"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.726910" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.724315" elapsed="0.002668"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.724286" elapsed="0.002731"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.749276" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.749327" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.727218" elapsed="0.022134"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.751231" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.749435" elapsed="0.001870"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.749415" elapsed="0.001915"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.751365" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:27.751570" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.751616" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.707486" elapsed="0.044154"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.753895" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.752205" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.752186" elapsed="0.001780"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.754548" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.754120" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.755112" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.754753" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.755198" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.755398" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.751862" elapsed="0.003563"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.755586" elapsed="0.000395"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.706837" elapsed="0.049209"/>
</kw>
<arg>f7.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.661642" elapsed="0.094465"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.654770" elapsed="0.101458"/>
</test>
<test id="s1-s3-s2-t59" name="Test Is Flow 8 Updated" line="175">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.767658" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.767813" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.767514" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.768453" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.767998" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.768927" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.768642" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.769398" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.769108" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.769850" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.769577" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.770861" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.770029" elapsed="0.000864"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.771409" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.771054" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.771988" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.771657" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.772543" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.772190" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.773070" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.772749" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.773612" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.773286" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.774319" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.773813" elapsed="0.000552"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.767166" elapsed="0.007257"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.775004" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.774582" elapsed="0.000453"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.775454" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.775190" elapsed="0.000329"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.783460" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.783140" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.788330" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.788457" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.788556" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.783618" elapsed="0.004965"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.789173" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.788817" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.792322" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.789463" elapsed="0.002932"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.795175" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.792545" elapsed="0.002749"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.792515" elapsed="0.002816"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.795535" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.795858" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.795666" elapsed="0.000266"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.795642" elapsed="0.000325"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.796014" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:27.798376" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.798442" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.782820" elapsed="0.015655"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.801028" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.799317" elapsed="0.001759"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.799291" elapsed="0.001807"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.801664" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.801260" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.802208" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.801855" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.802301" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.802483" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.798825" elapsed="0.003683"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.802723" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.782220" elapsed="0.020960"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.811213" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.810911" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.820222" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.821624" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.822313" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.811386" elapsed="0.010994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.823454" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.822806" elapsed="0.000758"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.830593" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.823909" elapsed="0.007936"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.833722" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.831935" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.831906" elapsed="0.001892"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.854612" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.854694" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.833957" elapsed="0.020765"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.856642" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.854824" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.854799" elapsed="0.001930"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.856766" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:37:27.856983" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.857027" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.810487" elapsed="0.046562"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.859317" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.857690" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.857672" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.859988" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.859543" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.860604" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.860180" elapsed="0.000451"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.860681" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:27.860863" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.857332" elapsed="0.003556"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.861049" elapsed="0.000421"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.809853" elapsed="0.051681"/>
</kw>
<arg>f8.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.763797" elapsed="0.097797"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.756542" elapsed="0.105179"/>
</test>
<test id="s1-s3-s2-t60" name="Test Is Flow 9 Updated" line="177">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.872920" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.873105" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.872769" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.873795" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3000e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.873316" elapsed="0.000508"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.874282" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.873980" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.874781" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.874465" elapsed="0.000342"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.875245" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.874960" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.876218" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.875426" elapsed="0.000838"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.876774" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.876431" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.877387" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.877043" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.877914" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.877585" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.878440" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.878108" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.879008" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.878674" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.879549" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3000e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.879208" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.872425" elapsed="0.007226"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.880210" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.879806" elapsed="0.000450"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.880870" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.880410" elapsed="0.000526"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.888878" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.888545" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.893675" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.893819" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:27.893924" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.889045" elapsed="0.004906"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.894436" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.894129" elapsed="0.000354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.897379" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.894690" elapsed="0.002763"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:27.900273" elapsed="0.000052"/>
</return>
<status status="PASS" start="2026-05-25T00:37:27.897565" elapsed="0.002822"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.897533" elapsed="0.002893"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:27.900651" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.900996" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.900791" elapsed="0.000285"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:27.900766" elapsed="0.000346"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.901161" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:27.903779" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:27.903827" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.888198" elapsed="0.015653"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.906122" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.904480" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.904461" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.906872" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.906367" elapsed="0.000532"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.907441" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.907065" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.907517" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:27.907701" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.904105" elapsed="0.003621"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.907885" elapsed="0.000425"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.887569" elapsed="0.020808"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.916300" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:27.915972" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:27.926001" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:27.927335" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:27.927938" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:27.916462" elapsed="0.011537"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.928948" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.928400" elapsed="0.000648"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.934991" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:27.929376" elapsed="0.007678"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.939267" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.937292" elapsed="0.002033"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.937218" elapsed="0.002131"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.973586" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:27.973679" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:27.939526" elapsed="0.034191"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:27.976735" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:27.973915" elapsed="0.002913"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.973857" elapsed="0.003012"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:27.976927" elapsed="0.000053"/>
</return>
<msg time="2026-05-25T00:37:27.977275" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:27.977345" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:27.915588" elapsed="0.061792"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:27.980761" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:27.978336" elapsed="0.002495"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:27.978308" elapsed="0.002557"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.981810" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.981094" elapsed="0.000759"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.982704" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:27.982102" elapsed="0.000643"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:27.982820" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:37:27.983094" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:27.977769" elapsed="0.005363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:27.983394" elapsed="0.000482"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:27.914939" elapsed="0.069003"/>
</kw>
<arg>f9.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.869097" elapsed="0.114918"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.862080" elapsed="0.122088"/>
</test>
<test id="s1-s3-s2-t61" name="Test Is Flow 10 Updated" line="179">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:27.995895" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:27.996114" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:27.995576" elapsed="0.000569"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:27.996816" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3017b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:27.996330" elapsed="0.000516"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.997308" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.997003" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.997769" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.997492" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:27.998221" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:27.997947" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:27.999213" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:27.998417" elapsed="0.000842"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:27.999769" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:27.999427" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.000391" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.000045" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.000923" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.000591" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.001451" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.001118" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.001972" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.001649" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.002511" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3017b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.002169" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:27.995199" elapsed="0.007456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.003285" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.002812" elapsed="0.000506"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.003723" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.003475" elapsed="0.000313"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.012032" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.011711" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.017461" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.017610" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.017716" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.012197" elapsed="0.005546"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.018204" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.017926" elapsed="0.000344"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.020490" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.018425" elapsed="0.002116"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.022483" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.020628" elapsed="0.001938"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.020601" elapsed="0.001991"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.022790" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.023024" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.022886" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.022868" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.023134" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:28.025410" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.025478" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.011378" elapsed="0.014135"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.028969" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.026520" elapsed="0.002519"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.026494" elapsed="0.002579"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.029956" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.029333" elapsed="0.000663"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.030806" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.030261" elapsed="0.000585"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.030918" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:37:28.031187" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.025993" elapsed="0.005230"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.031485" elapsed="0.000585"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.010761" elapsed="0.021403"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.041183" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.040867" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.051278" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.052582" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.053365" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.041363" elapsed="0.012066"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.054477" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.053828" elapsed="0.000754"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.061062" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.055615" elapsed="0.006440"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.064902" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.062176" elapsed="0.002805"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.062141" elapsed="0.002875"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.089437" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.089498" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.065254" elapsed="0.024268"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.091532" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.089634" elapsed="0.001960"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.089607" elapsed="0.002014"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.091658" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:37:28.091881" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.091926" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.040482" elapsed="0.051466"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.094163" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.092583" elapsed="0.001627"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.092564" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.094888" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.094403" elapsed="0.000513"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.095457" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.095081" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.095534" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:28.095718" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.092206" elapsed="0.003538"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.095912" elapsed="0.000422"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.039821" elapsed="0.056577"/>
</kw>
<arg>f10.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:27.991801" elapsed="0.104657"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:27.984627" elapsed="0.111957"/>
</test>
<test id="s1-s3-s2-t62" name="Test Is Flow 11 Updated" line="181">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.107739" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.107910" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.107585" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.108575" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f82c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.108101" elapsed="0.000504"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.109051" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.108765" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.109523" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.109246" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.109974" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.109701" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.110970" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.110154" elapsed="0.000847"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.111519" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.111163" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.112110" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.111782" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.112652" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.112323" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.113158" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.112845" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.113696" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.113371" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.114219" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f82c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.113896" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.107244" elapsed="0.007090"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.114920" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.114486" elapsed="0.000465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.115551" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.115104" elapsed="0.000513"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.123418" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.123090" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.129207" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.129372" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.129473" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.123579" elapsed="0.005920"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.129924" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.129662" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.132128" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.130114" elapsed="0.002066"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.134077" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.132273" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.132249" elapsed="0.001929"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.134342" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.134573" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.134436" elapsed="0.000249"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.134418" elapsed="0.000293"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.134744" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:28.136793" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.136861" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.122770" elapsed="0.014126"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.140156" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.137743" elapsed="0.002482"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.137716" elapsed="0.002563"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.141102" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.140502" elapsed="0.000639"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.141921" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.141401" elapsed="0.000559"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.142032" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:37:28.142320" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.137219" elapsed="0.005139"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.142611" elapsed="0.000583"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.122162" elapsed="0.021149"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.152438" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.152116" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.162491" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.163310" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.163706" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.152597" elapsed="0.011147"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.164350" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.163968" elapsed="0.000446"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.168315" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.164614" elapsed="0.004604"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.171812" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.169346" elapsed="0.002518"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.169316" elapsed="0.002571"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.192983" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.193041" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.172029" elapsed="0.021037"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.195099" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.193176" elapsed="0.001999"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.193150" elapsed="0.002055"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.195259" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:37:28.195488" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.195536" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.151736" elapsed="0.043824"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.197919" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.196230" elapsed="0.001737"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.196207" elapsed="0.001783"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.198670" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.198152" elapsed="0.000548"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.199264" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.198869" elapsed="0.000423"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.199345" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:37:28.199549" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.195822" elapsed="0.003760"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.199748" elapsed="0.000466"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.151093" elapsed="0.049206"/>
</kw>
<arg>f11.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.103918" elapsed="0.096442"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.096946" elapsed="0.103543"/>
</test>
<test id="s1-s3-s2-t63" name="Test Is Flow 14 Updated" line="183">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.211762" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.211934" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.211607" elapsed="0.000357"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.212597" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7650&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.212124" elapsed="0.000502"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.213070" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.212783" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.213544" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.213266" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.213994" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.213722" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.215010" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.214173" elapsed="0.000868"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.215560" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.215204" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.216170" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.215841" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.216714" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.216386" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.217218" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.216907" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.217750" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.217431" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.218283" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7650&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.217946" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.211264" elapsed="0.007116"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.218939" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.218532" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.219567" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.219122" elapsed="0.000512"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.227594" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.227282" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.232927" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.233071" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.233170" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.227754" elapsed="0.005441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.233652" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.233379" elapsed="0.000339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.236727" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.233918" elapsed="0.002880"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.239464" elapsed="0.000046"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.236946" elapsed="0.002619"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.236871" elapsed="0.002729"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.239801" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.240116" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.239929" elapsed="0.000258"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.239906" elapsed="0.000315"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.240289" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:28.242629" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.242703" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.226945" elapsed="0.015792"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.245147" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.243531" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.243506" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.245786" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.245379" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.246342" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.245974" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.246418" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:28.246618" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.243040" elapsed="0.003604"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.246802" elapsed="0.000394"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.226318" elapsed="0.020959"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.255139" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.254836" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.266450" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.267760" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.268415" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.255315" elapsed="0.013162"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.269446" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.268840" elapsed="0.000710"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.275738" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.269873" elapsed="0.006546"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.278270" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.276494" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.276473" elapsed="0.001871"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.300288" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.300338" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.278487" elapsed="0.021876"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.302212" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.300450" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.300425" elapsed="0.001885"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.302344" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:28.302545" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.302608" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.254421" elapsed="0.048211"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.304850" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.303211" elapsed="0.001686"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.303192" elapsed="0.001727"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.305512" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.305072" elapsed="0.000468"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.306057" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.305703" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.306131" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:28.306329" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.302868" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.306512" elapsed="0.000440"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.253779" elapsed="0.053236"/>
</kw>
<arg>f14.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.207914" elapsed="0.099157"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.200847" elapsed="0.106350"/>
</test>
<test id="s1-s3-s2-t64" name="Test Is Flow 15 Updated" line="185">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.318272" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.318435" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.318112" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.319082" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.318653" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.319569" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.319283" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.320018" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.319749" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.320482" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.320195" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.321364" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.320664" elapsed="0.000731"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.321888" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.321555" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.322492" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.322145" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.323074" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.322742" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.323604" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.323285" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.324124" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.323806" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.324663" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f8310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.324338" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.317777" elapsed="0.006982"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.325311" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.324909" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.325737" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.325495" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.333744" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.333439" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.338924" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.339061" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.339159" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.333902" elapsed="0.005282"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.339643" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.339371" elapsed="0.000339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.342728" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.339909" elapsed="0.002891"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.345414" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.342903" elapsed="0.002610"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.342873" elapsed="0.002676"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.345799" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.346122" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.345929" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.345905" elapsed="0.000325"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.346299" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:28.348632" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.348696" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.333106" elapsed="0.015622"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.351774" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.349525" elapsed="0.002297"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.349500" elapsed="0.002345"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.352440" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.352017" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.352992" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.352634" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.353068" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:28.353268" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.349028" elapsed="0.004267"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.353489" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.332541" elapsed="0.021418"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.361858" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.361558" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.372116" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.373523" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.374173" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.362016" elapsed="0.012245"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.375460" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.374787" elapsed="0.000780"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.380996" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.375902" elapsed="0.006008"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.384551" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.382018" elapsed="0.002606"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.381987" elapsed="0.002670"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.408136" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.408185" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.384859" elapsed="0.023351"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.410043" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.408308" elapsed="0.001793"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.408288" elapsed="0.001838"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.410161" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:28.410381" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.410426" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.361162" elapsed="0.049288"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.412709" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.411070" elapsed="0.001686"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.411052" elapsed="0.001727"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.413416" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.412931" elapsed="0.000514"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.413972" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.413610" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.414048" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:28.414230" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.410725" elapsed="0.003546"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.414432" elapsed="0.000486"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.360530" elapsed="0.054453"/>
</kw>
<arg>f15.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.314477" elapsed="0.100564"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.307545" elapsed="0.107622"/>
</test>
<test id="s1-s3-s2-t65" name="Test Is Flow 16 Updated" line="187">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.426462" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.426637" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.426315" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.427257" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.426820" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.427731" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.427442" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.428186" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.427912" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.428656" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.428382" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.429528" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.428834" elapsed="0.000725"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.430058" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.429719" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.430688" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.430316" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.431221" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.430888" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.431754" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.431435" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.432292" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.431953" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.432815" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.432491" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.425966" elapsed="0.006949"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.433470" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.433067" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.433899" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.433655" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.447491" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.446642" elapsed="0.000920"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.455593" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.455772" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.455893" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.447888" elapsed="0.008033"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.456412" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.456109" elapsed="0.000354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.458759" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.456629" elapsed="0.002183"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.460695" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.458905" elapsed="0.001877"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.458875" elapsed="0.002002"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.461038" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.461292" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.461136" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.461117" elapsed="0.000255"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.461406" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:28.463119" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.463168" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.445792" elapsed="0.017401"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.466326" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.463900" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.463872" elapsed="0.002558"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.467312" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.466674" elapsed="0.000678"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.468116" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.467593" elapsed="0.000561"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.468227" elapsed="0.000064"/>
</return>
<msg time="2026-05-25T00:37:28.468515" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.463454" elapsed="0.005098"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.468786" elapsed="0.000607"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.444122" elapsed="0.025366"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.479509" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.479175" elapsed="0.000364"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.489457" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.490216" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.490662" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.479680" elapsed="0.011020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.491464" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.491083" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.495394" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.491732" elapsed="0.004591"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.498953" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.496425" elapsed="0.002598"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.496397" elapsed="0.002658"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.519601" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.519668" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.499276" elapsed="0.020418"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.521800" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.519838" elapsed="0.002024"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.519803" elapsed="0.002087"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.521931" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:37:28.522170" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.522215" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.478784" elapsed="0.043468"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.524627" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.522937" elapsed="0.001740"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.522918" elapsed="0.001783"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.525375" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.524862" elapsed="0.000543"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.525935" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.525572" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.526013" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:28.526197" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.522552" elapsed="0.003672"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.526404" elapsed="0.000493"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.478086" elapsed="0.048879"/>
</kw>
<arg>f16.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.422676" elapsed="0.104355"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.415539" elapsed="0.111627"/>
</test>
<test id="s1-s3-s2-t66" name="Test Is Flow 17 Updated" line="189">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.538447" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.538672" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.538288" elapsed="0.000417"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.539358" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d71a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.538876" elapsed="0.000511"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.539835" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.539547" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.540314" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.540018" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.540770" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.540496" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.541681" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.540954" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.542222" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.541879" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.543021" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.542683" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.543580" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.543223" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.544087" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.543772" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.544618" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.544299" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.545136" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d71a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.544815" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.537915" elapsed="0.007333"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.545800" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.545402" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.546224" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.545982" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.554283" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.553950" elapsed="0.000361"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.559517" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.559665" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.559769" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.554444" elapsed="0.005351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.560283" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.559967" elapsed="0.000363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.562479" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.560476" elapsed="0.002105"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.564865" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.562663" elapsed="0.002309"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.562638" elapsed="0.002371"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.565307" elapsed="0.000035"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.565656" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.565446" elapsed="0.000289"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.565421" elapsed="0.000350"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.565819" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:28.568354" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.568422" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.553627" elapsed="0.014829"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.571709" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.569319" elapsed="0.002459"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.569291" elapsed="0.002520"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.572655" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.572031" elapsed="0.000664"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.573472" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.572932" elapsed="0.000578"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.573583" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:37:28.573853" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.568796" elapsed="0.005094"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.574124" elapsed="0.000660"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.553029" elapsed="0.021850"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.582978" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.582663" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.593561" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.594232" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.594644" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.583140" elapsed="0.011533"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.595195" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.594888" elapsed="0.000370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.601170" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.595404" elapsed="0.007330"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.605229" elapsed="0.000045"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.602916" elapsed="0.002399"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.602865" elapsed="0.002474"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.626616" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.626681" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.605525" elapsed="0.021181"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.628860" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.626833" elapsed="0.002102"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.626799" elapsed="0.002166"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.629007" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:37:28.629292" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.629341" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.582256" elapsed="0.047109"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.631654" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.630018" elapsed="0.001683"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.629998" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.632377" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.631880" elapsed="0.000526"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.632926" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.632568" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.633002" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:28.633185" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.629640" elapsed="0.003571"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.633389" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.581597" elapsed="0.052269"/>
</kw>
<arg>f17.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.534616" elapsed="0.099309"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.527558" elapsed="0.106496"/>
</test>
<test id="s1-s3-s2-t67" name="Test Is Flow 18 Updated" line="191">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.645332" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.645526" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.645167" elapsed="0.000389"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.646159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d5080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.645714" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.646696" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.646359" elapsed="0.000364"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.647147" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.646876" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.647610" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.647339" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.648443" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.647792" elapsed="0.000682"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.648976" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.648636" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.649684" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.649351" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.650210" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.649881" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.650785" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.650421" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.651325" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.650985" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.651851" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d5080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.651526" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.644827" elapsed="0.007124"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.652524" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.652105" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.652960" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.652712" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.661172" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.660830" elapsed="0.000370"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.667091" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.667273" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.667383" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.661357" elapsed="0.006053"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.667896" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.667606" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.670530" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.668092" elapsed="0.002497"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.672796" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.670680" elapsed="0.002229"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.670652" elapsed="0.002296"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.673188" elapsed="0.000036"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.673642" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.673355" elapsed="0.000365"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.673329" elapsed="0.000429"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.673809" elapsed="0.000023"/>
</return>
<msg time="2026-05-25T00:37:28.676255" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.676327" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.660486" elapsed="0.015875"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.679551" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.677225" elapsed="0.002400"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.677198" elapsed="0.002460"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.680591" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.679912" elapsed="0.000719"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.681389" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.680866" elapsed="0.000561"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.681498" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:37:28.681765" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.676719" elapsed="0.005081"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.682060" elapsed="0.000706"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.659837" elapsed="0.023026"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.691280" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.690905" elapsed="0.000407"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.699270" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.699921" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.700288" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.691457" elapsed="0.008861"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.700877" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.700553" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.704167" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.701077" elapsed="0.004101"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.707816" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.705322" elapsed="0.002569"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.705287" elapsed="0.002637"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.731170" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.731227" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.708124" elapsed="0.023142"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.733198" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.731373" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.731348" elapsed="0.001953"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.733339" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:37:28.733556" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.733602" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.690461" elapsed="0.043164"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.735920" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.734247" elapsed="0.001719"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.734214" elapsed="0.001774"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.736622" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.736143" elapsed="0.000506"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.737166" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.736812" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.737256" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:37:28.737442" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.733873" elapsed="0.003595"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.737628" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.689672" elapsed="0.048425"/>
</kw>
<arg>f18.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.641522" elapsed="0.096634"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.634503" elapsed="0.103793"/>
</test>
<test id="s1-s3-s2-t68" name="Test Is Flow 19 Updated" line="193">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.749726" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.749988" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.749558" elapsed="0.000461"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.750695" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.750193" elapsed="0.000530"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.751162" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.750879" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.751630" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.751359" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.752074" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.751806" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.752883" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.752264" elapsed="0.000650"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.753434" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.753076" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.754033" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.753706" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.754631" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.754231" elapsed="0.000444"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.755149" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.754830" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.755686" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.755364" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.756201" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.755881" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.749200" elapsed="0.007117"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.756863" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.756466" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.757304" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.757044" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.765460" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.765115" elapsed="0.000373"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.770794" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.770978" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.771101" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.765622" elapsed="0.005506"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.771623" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.771341" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.773868" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.771815" elapsed="0.002119"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.775867" elapsed="0.000038"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.774020" elapsed="0.001928"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.773994" elapsed="0.001982"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.776133" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.776385" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.776229" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.776212" elapsed="0.000312"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.776563" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:37:28.778262" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.778312" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.764787" elapsed="0.013550"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.781078" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.778976" elapsed="0.002173"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.778957" elapsed="0.002227"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.782081" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.781434" elapsed="0.000689"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.783003" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.782402" elapsed="0.000640"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.783116" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:37:28.783414" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.778621" elapsed="0.004831"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.783687" elapsed="0.000610"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.764171" elapsed="0.020221"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.793365" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.793036" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.804617" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.805981" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.806763" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.793527" elapsed="0.013299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.807923" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.807284" elapsed="0.000743"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.814398" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.808387" elapsed="0.007442"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.817732" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.815922" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.815894" elapsed="0.001918"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.837512" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.837568" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.817975" elapsed="0.019618"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.839552" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.837698" elapsed="0.001914"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.837672" elapsed="0.001967"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.839678" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:37:28.839897" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.839943" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.792650" elapsed="0.047317"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.842190" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.840597" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.840578" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.842944" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.842434" elapsed="0.000538"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.843511" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.843136" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.843588" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:28.843772" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.840221" elapsed="0.003576"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.843954" elapsed="0.000424"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.791991" elapsed="0.052451"/>
</kw>
<arg>f19.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.745827" elapsed="0.098676"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.738660" elapsed="0.105970"/>
</test>
<test id="s1-s3-s2-t69" name="Test Is Flow 20 Updated" line="195">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.855947" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.856127" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.855790" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.856771" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.856345" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.857261" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.856955" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.857718" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.857444" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.858167" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.857895" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.858995" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.858363" elapsed="0.000663"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.859544" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.859188" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.860137" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.859809" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.860682" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.860352" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.861195" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.860879" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.861737" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.861412" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.862275" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.861937" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.855444" elapsed="0.006932"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.862964" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.862563" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.863448" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.863147" elapsed="0.000359"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.871601" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.871280" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.876729" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.876926" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.877102" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.871762" elapsed="0.005382"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.877770" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.877413" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.880252" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.877987" elapsed="0.002325"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.882198" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.880408" elapsed="0.001889"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.880380" elapsed="0.001944"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.882504" elapsed="0.000100"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.882841" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.882695" elapsed="0.000273"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.882674" elapsed="0.000321"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.883029" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:28.885152" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.885217" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.870943" elapsed="0.014325"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.888515" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.886137" elapsed="0.002448"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.886110" elapsed="0.002508"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.889481" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.888846" elapsed="0.000674"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.890266" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.889751" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.890375" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:37:28.890685" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.885621" elapsed="0.005102"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.890945" elapsed="0.000588"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.870331" elapsed="0.021293"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.902473" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.902096" elapsed="0.000409"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.912878" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.913785" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:28.914265" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.902673" elapsed="0.011634"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.915026" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.914607" elapsed="0.000488"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.919368" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.915327" elapsed="0.005029"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.923188" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.920477" elapsed="0.002811"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.920440" elapsed="0.002883"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.943939" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:28.943987" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:28.923537" elapsed="0.020473"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.945916" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.944090" elapsed="0.001883"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.944071" elapsed="0.001927"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:28.946032" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:37:28.946259" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:28.946306" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.901679" elapsed="0.044650"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.948582" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.946964" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.946945" elapsed="0.001706"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.949229" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.948804" elapsed="0.000468"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.949795" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.949436" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.949871" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:28.950053" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.946606" elapsed="0.003472"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.950250" elapsed="0.000424"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.900869" elapsed="0.049869"/>
</kw>
<arg>f20.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.851968" elapsed="0.098827"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.844951" elapsed="0.105968"/>
</test>
<test id="s1-s3-s2-t70" name="Test Is Flow 21 Updated" line="197">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:28.962378" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:28.962558" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:28.962206" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:28.963276" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5620&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:28.962803" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.963748" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.963462" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.964200" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.963928" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:28.964664" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:28.964393" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:28.965593" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:28.964841" elapsed="0.000783"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.966130" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.965790" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.966760" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.966408" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.967297" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.966954" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.967806" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.967490" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.968337" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.968002" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.968857" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5620&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:28.968535" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:28.961856" elapsed="0.007100"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.969522" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.969107" elapsed="0.000446"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.969951" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.969706" elapsed="0.000309"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.978115" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:28.977803" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:28.982544" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:28.982702" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:28.982801" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:28.978295" elapsed="0.004532"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.983263" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.982989" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.985430" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:28.983456" elapsed="0.002025"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:28.987361" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:37:28.985561" elapsed="0.001919"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.985536" elapsed="0.001974"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:28.987657" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:28.987978" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:28.987787" elapsed="0.000264"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:28.987763" elapsed="0.000322"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.988131" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:28.990450" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:28.990513" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:28.977483" elapsed="0.013063"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:28.993624" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:28.991385" elapsed="0.002307"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:28.991359" elapsed="0.002367"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.994511" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.993932" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:28.995336" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:28.994817" elapsed="0.000557"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:28.995443" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:28.995695" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:28.990892" elapsed="0.004829"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:28.995878" elapsed="0.000412"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:28.976885" elapsed="0.019469"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.004200" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.003897" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.013474" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.014194" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.014639" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.004376" elapsed="0.010306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.015287" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.014909" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.019176" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.015554" elapsed="0.004555"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.022743" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.020213" elapsed="0.002599"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.020185" elapsed="0.002659"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.043313" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.043362" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.023043" elapsed="0.020343"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.045210" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.043470" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.043449" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.045347" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:29.045547" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.045592" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.003509" elapsed="0.042105"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.047825" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.046176" elapsed="0.001695"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.046157" elapsed="0.001736"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.048474" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.048044" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.049020" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.048666" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.049095" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:29.049292" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.045837" elapsed="0.003481"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.049475" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.002865" elapsed="0.047066"/>
</kw>
<arg>f21.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:28.958321" elapsed="0.091668"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:28.951259" elapsed="0.098853"/>
</test>
<test id="s1-s3-s2-t71" name="Test Is Flow 22 Updated" line="199">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.061317" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.061588" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.061157" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.062198" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f1a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.061775" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.062730" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.062405" elapsed="0.000354"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.063186" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.062912" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.063655" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.063383" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.064548" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.063832" elapsed="0.000747"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.065070" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.064737" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.065660" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.065332" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.066187" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.065858" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.066734" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.066398" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.067267" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.066933" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.067784" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0f1a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.067464" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.060825" elapsed="0.007057"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.068431" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.068032" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.068857" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.068613" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.131890" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.131522" elapsed="0.000399"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.137195" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.137361" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.137478" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.132064" elapsed="0.005441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.138062" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.137696" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.141146" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.138350" elapsed="0.002868"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.143854" elapsed="0.000046"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.141348" elapsed="0.002696"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.141316" elapsed="0.002768"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.144314" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.144635" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.144445" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.144421" elapsed="0.000324"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.144790" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:29.147125" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.147190" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.131153" elapsed="0.016071"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.149529" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.147927" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.147909" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.150155" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.149749" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.150730" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.150362" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.150805" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.150985" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.147552" elapsed="0.003458"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.151168" elapsed="0.000412"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.130396" elapsed="0.021250"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.159494" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.159169" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.168296" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.169294" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.169737" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.159656" elapsed="0.010120"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.170442" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.170029" elapsed="0.000483"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.174690" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.170775" elapsed="0.004914"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.178463" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.175802" elapsed="0.002736"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.175769" elapsed="0.002803"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.199462" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.199512" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.178836" elapsed="0.020700"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.201460" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.199623" elapsed="0.001894"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.199602" elapsed="0.001942"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.201580" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:37:29.201794" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.201838" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.158782" elapsed="0.043079"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.204093" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.202478" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.202460" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.204786" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.204335" elapsed="0.000478"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.205357" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.204977" elapsed="0.000407"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.205433" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:29.205614" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.202109" elapsed="0.003530"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.205797" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.158124" elapsed="0.048159"/>
</kw>
<arg>f22.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.057537" elapsed="0.148807"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.050449" elapsed="0.156024"/>
</test>
<test id="s1-s3-s2-t72" name="Test Is Flow 23 Updated" line="201">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.219121" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.219357" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.218934" elapsed="0.000455"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.220630" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.219585" elapsed="0.001111"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.221745" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.221049" elapsed="0.000763"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.222893" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.222162" elapsed="0.000794"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.223807" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.223338" elapsed="0.000496"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.224861" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.223988" elapsed="0.000905"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.225436" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.225064" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.226066" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.225731" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.226616" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.226281" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.227176" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.226850" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.227719" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.227393" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.228258" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.227916" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.218525" elapsed="0.009836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.228944" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.228517" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.229405" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.229134" elapsed="0.000335"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.237685" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.237350" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.242989" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.243134" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.243258" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.237862" elapsed="0.005425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.243717" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.243452" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.245948" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.243909" elapsed="0.002091"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.248056" elapsed="0.000051"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.246085" elapsed="0.002124"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.246057" elapsed="0.002212"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.248477" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.248800" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.248608" elapsed="0.000266"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.248583" elapsed="0.000325"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.248954" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:29.251365" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.251429" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.236996" elapsed="0.014465"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.254590" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.252251" elapsed="0.002405"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.252206" elapsed="0.002481"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.255545" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.254951" elapsed="0.000633"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.256138" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.255781" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.256214" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:37:29.256417" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.251762" elapsed="0.004681"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.256602" elapsed="0.000418"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.236403" elapsed="0.020679"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.265036" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.264728" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.275378" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.275990" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.276324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.265199" elapsed="0.011152"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.276834" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.276543" elapsed="0.000337"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.279748" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.277024" elapsed="0.003448"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.282371" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.280561" elapsed="0.001865"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.280534" elapsed="0.001915"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.304152" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.304219" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.282601" elapsed="0.021664"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.306457" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.304403" elapsed="0.002118"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.304369" elapsed="0.002182"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.306592" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:37:29.306876" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.306924" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.264344" elapsed="0.042603"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.309267" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.307620" elapsed="0.001695"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.307601" elapsed="0.001737"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.309971" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.309497" elapsed="0.000501"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.310536" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.310161" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.310612" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:29.310797" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.307219" elapsed="0.003625"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.311005" elapsed="0.000436"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.263701" elapsed="0.047805"/>
</kw>
<arg>f23.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.214680" elapsed="0.096887"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.206848" elapsed="0.104851"/>
</test>
<test id="s1-s3-s2-t73" name="Test Is Flow 24 Updated" line="203">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.322972" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.323162" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.322720" elapsed="0.000472"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.323813" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e5c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.323378" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.324301" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.323997" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.324756" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.324483" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.325203" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.324932" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.325990" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.325398" elapsed="0.000623"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.326541" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.326184" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.327171" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.326805" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.327715" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.327383" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.328220" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.327907" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.328751" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.328432" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.329282" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e5c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.328946" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.322368" elapsed="0.007015"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.329940" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.329534" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.330386" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.330123" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.339227" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.338894" elapsed="0.000387"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.344618" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.344831" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.344992" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.339422" elapsed="0.005609"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.345771" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.345332" elapsed="0.000517"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.349187" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.346090" elapsed="0.003197"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.352163" elapsed="0.000052"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.349408" elapsed="0.002892"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.349374" elapsed="0.002966"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.352603" elapsed="0.000044"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.353039" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.352776" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.352744" elapsed="0.000518"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.353320" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:29.355875" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.355922" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.338506" elapsed="0.017439"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.358182" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.356565" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.356547" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.358888" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.358422" elapsed="0.000495"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.359458" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.359082" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.359534" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:29.359722" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.356195" elapsed="0.003552"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.359905" elapsed="0.000419"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.337877" elapsed="0.022512"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.368403" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.368074" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.378349" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.379744" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.380422" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.368564" elapsed="0.011915"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.381537" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.380914" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.387888" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.381842" elapsed="0.006990"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.391691" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.388968" elapsed="0.002803"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.388930" elapsed="0.002873"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.421137" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.421298" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.392212" elapsed="0.029147"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.425556" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.421597" elapsed="0.004075"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.421538" elapsed="0.004212"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.425836" elapsed="0.000070"/>
</return>
<msg time="2026-05-25T00:37:29.426195" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.426287" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.367689" elapsed="0.058635"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.429823" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.427243" elapsed="0.002653"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.427210" elapsed="0.002719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.430866" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.430161" elapsed="0.000747"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.431720" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.431153" elapsed="0.000606"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.431834" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:37:29.432105" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.426702" elapsed="0.005441"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.432459" elapsed="0.000488"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.367030" elapsed="0.065983"/>
</kw>
<arg>f24.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.319067" elapsed="0.114007"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.312044" elapsed="0.121161"/>
</test>
<test id="s1-s3-s2-t74" name="Test Is Flow 25 Updated" line="205">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.444487" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.444660" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.444337" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.445373" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4db0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.444886" elapsed="0.000515"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.445857" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.445560" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.446334" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.446040" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.446785" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.446514" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.447799" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.446964" elapsed="0.000866"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.448367" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.447996" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.449073" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.448645" elapsed="0.000479"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.449645" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.449304" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.450170" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.449854" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.450709" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.450386" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.451229" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4db0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.450907" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.443978" elapsed="0.007376"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.451923" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.451510" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.452378" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.452108" elapsed="0.000336"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.466197" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.465361" elapsed="0.000939"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.473946" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.474223" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.474511" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.466622" elapsed="0.007946"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.475213" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.474852" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.478364" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.475507" elapsed="0.002933"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.481088" elapsed="0.000050"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.478549" elapsed="0.002646"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.478516" elapsed="0.002714"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.481455" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.481773" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.481584" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.481561" elapsed="0.000317"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.481964" elapsed="0.000023"/>
</return>
<msg time="2026-05-25T00:37:29.483808" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.483853" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.464554" elapsed="0.019322"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.486033" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.484445" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.484427" elapsed="0.001690"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.486690" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.486279" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.487231" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.486879" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.487324" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.487505" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.484095" elapsed="0.003435"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.487689" elapsed="0.000397"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.462912" elapsed="0.025236"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.496012" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.495712" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.506335" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.506965" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.507245" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.496168" elapsed="0.011126"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.507807" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.507459" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.514102" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.508234" elapsed="0.007402"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.517502" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.515721" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.515702" elapsed="0.001872"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.536754" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.536802" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.517714" elapsed="0.019113"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.538653" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.536906" elapsed="0.001806"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.536887" elapsed="0.001851"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.538772" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.538972" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.539018" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.495332" elapsed="0.043709"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.541281" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.539617" elapsed="0.001713"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.539598" elapsed="0.001755"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.541907" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.541503" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.542476" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.542097" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.542552" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.542733" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.539264" elapsed="0.003494"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.542916" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.494692" elapsed="0.048695"/>
</kw>
<arg>f25.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.440617" elapsed="0.102828"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.433568" elapsed="0.110003"/>
</test>
<test id="s1-s3-s2-t75" name="Test Is Flow 31 Updated" line="207">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.561891" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.562052" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.561742" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.562689" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e480&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.562244" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.563165" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.562876" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.563648" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.563368" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.564106" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.563830" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.564972" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.564303" elapsed="0.000701"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.565531" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.565165" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.566103" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.565771" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.566654" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.566320" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.567174" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.566852" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.567720" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.567392" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.568253" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e480&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.567922" elapsed="0.000393"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.561398" elapsed="0.006974"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.568968" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.568525" elapsed="0.000475"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.569427" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.569157" elapsed="0.000332"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.577629" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.577319" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.582802" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.582918" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.583015" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.577791" elapsed="0.005249"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.583486" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.583203" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.585730" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.583682" elapsed="0.002125"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.588562" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.585912" elapsed="0.002750"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.585883" elapsed="0.002816"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.588912" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.589349" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.589105" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.589074" elapsed="0.000392"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.589515" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:29.591984" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.592052" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.576807" elapsed="0.015280"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.594822" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.592926" elapsed="0.001944"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.592900" elapsed="0.001992"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.595463" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.595040" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.596012" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.595656" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.596092" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.596292" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.592425" elapsed="0.003894"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.596479" elapsed="0.000394"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.576224" elapsed="0.020712"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.604842" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.604541" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.614860" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.615706" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.616117" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.604999" elapsed="0.011157"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.616956" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.616567" elapsed="0.000458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.621160" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.617243" elapsed="0.004916"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.624209" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.622326" elapsed="0.001937"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.622294" elapsed="0.002006"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.645071" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.645120" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.624443" elapsed="0.020702"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.647084" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.645226" elapsed="0.001917"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.645206" elapsed="0.001964"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.647204" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:29.647425" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.647470" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.604140" elapsed="0.043354"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.649699" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.648067" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.648043" elapsed="0.001725"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.650348" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.649919" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.650898" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.650539" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.650974" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.651168" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.647718" elapsed="0.003477"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.651370" elapsed="0.000391"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.603520" elapsed="0.048302"/>
</kw>
<arg>f31.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.554769" elapsed="0.097220"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.543917" elapsed="0.108186"/>
</test>
<test id="s1-s3-s2-t76" name="Test Is Flow 36 Updated" line="209">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.663152" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.663324" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.663013" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.663954" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d60c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.663540" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.664441" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.664136" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.664894" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.664621" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.665361" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.665071" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.666141" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.665539" elapsed="0.000633"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.666681" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.666347" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.667249" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.666917" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.667822" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.667463" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.668352" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.668018" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.668872" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.668551" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.669413" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d60c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.669073" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.662677" elapsed="0.006832"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.670050" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.669667" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.670493" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.670232" elapsed="0.000318"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.678534" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.678205" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.683321" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.683454" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.683553" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.678693" elapsed="0.004885"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.684042" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.683741" elapsed="0.000359"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.686301" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.684302" elapsed="0.002052"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.688176" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.686427" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.686406" elapsed="0.001911"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.688465" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.688721" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.688557" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.688541" elapsed="0.000336"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.688923" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:29.691204" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.691288" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.677888" elapsed="0.013435"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.694385" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.692092" elapsed="0.002357"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.692068" elapsed="0.002413"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.695250" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.694688" elapsed="0.000643"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.696056" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.695561" elapsed="0.000532"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.696162" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:29.696440" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.691622" elapsed="0.004854"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.696750" elapsed="0.000568"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.677327" elapsed="0.020081"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.705342" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.705022" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.714635" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.715834" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.716479" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.705500" elapsed="0.011039"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.717551" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.716901" elapsed="0.000753"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.723842" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.717980" elapsed="0.007353"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.727406" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.725562" elapsed="0.001894"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.725515" elapsed="0.001965"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.745686" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.745734" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.727624" elapsed="0.018134"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.747681" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.745836" elapsed="0.001905"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.745818" elapsed="0.001948"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.747800" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:29.747996" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.748041" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.704604" elapsed="0.043460"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.750277" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.748634" elapsed="0.001692"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.748616" elapsed="0.001732"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.750901" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.750497" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.751463" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.751092" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.751540" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.751720" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.748298" elapsed="0.003448"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.752037" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.703964" elapsed="0.048541"/>
</kw>
<arg>f36.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.659322" elapsed="0.093240"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.652392" elapsed="0.100290"/>
</test>
<test id="s1-s3-s2-t77" name="Test Is Flow 38 Updated" line="211">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.763777" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.763922" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.763635" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.764564" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd280e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.764127" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.765029" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.764747" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.765500" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.765208" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.765945" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.765676" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.766805" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.766120" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.767346" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.766995" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.767907" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.767582" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.768445" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.768101" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.768951" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.768639" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.769484" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.769147" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.770000" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd280e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.769679" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.763303" elapsed="0.006795"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.770653" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.770253" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.771104" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.770861" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.780826" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.780521" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.785440" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.785558" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.785679" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.780982" elapsed="0.004732"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.786400" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.785988" elapsed="0.000477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.789460" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.786668" elapsed="0.002864"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.792192" elapsed="0.000061"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.789630" elapsed="0.002714"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.789602" elapsed="0.002787"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.792636" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.793070" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.792789" elapsed="0.000369"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.792762" elapsed="0.000440"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.793281" elapsed="0.000026"/>
</return>
<msg time="2026-05-25T00:37:29.796125" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.796197" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.780182" elapsed="0.016052"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.798990" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.797040" elapsed="0.001998"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.797020" elapsed="0.002041"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.799658" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.799215" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.800223" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.799869" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.800316" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:29.800500" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.796624" elapsed="0.003901"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.800683" elapsed="0.000402"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.779616" elapsed="0.021533"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.812175" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.811648" elapsed="0.000571"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.823613" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.824970" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.825624" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.812442" elapsed="0.013242"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.826656" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.826040" elapsed="0.000718"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.831988" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.827095" elapsed="0.006059"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.835923" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.833290" elapsed="0.002706"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.833237" elapsed="0.002793"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.854729" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.854778" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.836242" elapsed="0.018560"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.856855" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.854882" elapsed="0.002030"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.854862" elapsed="0.002075"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.856970" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.857168" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.857212" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.811051" elapsed="0.046187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.859457" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.857832" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.857814" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.860080" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.859673" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.860642" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.860287" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.860722" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.860902" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.857473" elapsed="0.003453"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.861083" elapsed="0.000409"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.810078" elapsed="0.051477"/>
</kw>
<arg>f38.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.759997" elapsed="0.101739"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.752957" elapsed="0.108921"/>
</test>
<test id="s1-s3-s2-t78" name="Test Is Flow 43 Updated" line="213">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.873333" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.873494" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.873170" elapsed="0.000353"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.874190" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28ef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.873676" elapsed="0.000546"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.874692" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.874400" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.875183" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.874873" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.875657" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.875381" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.876555" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.875837" elapsed="0.000749"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.877097" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.876748" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.877689" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.877356" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.878294" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.877888" elapsed="0.000455"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.878880" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.878501" elapsed="0.000445"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.879698" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.879187" elapsed="0.000580"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.880493" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd28ef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.879993" elapsed="0.000564"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.872818" elapsed="0.007819"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.881486" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.880861" elapsed="0.000672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.882135" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.881760" elapsed="0.000473"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.892668" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.892358" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.897902" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.898019" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.898119" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.892825" elapsed="0.005319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.898590" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.898331" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.900794" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.898814" elapsed="0.002033"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:29.902693" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:37:29.900917" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.900897" elapsed="0.001887"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:29.902946" elapsed="0.000053"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.903211" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.903074" elapsed="0.000204"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:29.903057" elapsed="0.000247"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.903337" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:29.904984" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:29.905030" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.892009" elapsed="0.013044"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.907244" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.905620" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.905602" elapsed="0.001729"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.907879" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.907479" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.908435" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.908067" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.908511" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:29.908691" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.905283" elapsed="0.003433"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.908871" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.891423" elapsed="0.017915"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.917127" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.916830" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.928113" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.929385" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:29.929996" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.917300" elapsed="0.012755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.931004" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.930444" elapsed="0.000661"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.936955" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.931456" elapsed="0.006155"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.939467" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.937683" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.937664" elapsed="0.001875"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.959257" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:29.959319" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:29.939685" elapsed="0.019658"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:29.961306" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:29.959421" elapsed="0.001942"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.959402" elapsed="0.001987"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:29.961422" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:29.961620" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:29.961663" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.916453" elapsed="0.045233"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:29.963849" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:29.962242" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:29.962220" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.964485" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.964066" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.965048" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.964676" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:29.965123" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:29.965321" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:29.961900" elapsed="0.003447"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:29.965505" elapsed="0.000383"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.915819" elapsed="0.050132"/>
</kw>
<arg>f43.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.869384" elapsed="0.096623"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.862204" elapsed="0.103913"/>
</test>
<test id="s1-s3-s2-t79" name="Test Is Flow 45 Updated" line="215">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:29.977402" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:29.977543" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:29.977231" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:29.978122" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a660&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:29.977727" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.978608" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.978323" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.979082" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.978805" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:29.979553" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:29.979263" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:29.980359" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:29.979730" elapsed="0.000661"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.980885" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.980552" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.981511" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.981124" elapsed="0.000433"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.982050" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.981719" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.982586" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.982251" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.983127" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.982801" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.983675" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a660&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:29.983348" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:29.976859" elapsed="0.006918"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.984340" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:29.983932" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.984769" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.984525" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.992805" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:29.992502" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:29.997676" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:29.997818" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:29.997917" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:29.992963" elapsed="0.004979"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:29.998441" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.998103" elapsed="0.000395"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.000631" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:29.998652" elapsed="0.002030"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.002540" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.000754" elapsed="0.001854"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.000734" elapsed="0.001898"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.002804" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.003167" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.002977" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.002952" elapsed="0.000345"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.003344" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:30.005644" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.005707" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:29.992156" elapsed="0.013582"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.008776" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.006548" elapsed="0.002293"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.006524" elapsed="0.002348"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.009660" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.009076" elapsed="0.000622"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.010483" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.009924" elapsed="0.000603"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.010597" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:30.010804" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.006040" elapsed="0.004789"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.010985" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:29.991587" elapsed="0.019866"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.019292" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.018977" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.025927" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.026506" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.026819" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.019451" elapsed="0.007395"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.027293" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.027014" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.031044" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.027486" elapsed="0.004468"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.034551" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.032056" elapsed="0.002565"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.032028" elapsed="0.002625"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.053295" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.053345" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.034852" elapsed="0.018517"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.055279" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.053452" elapsed="0.001887"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.053431" elapsed="0.001933"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.055398" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.055613" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.055659" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.018592" elapsed="0.037090"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.057852" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.056251" elapsed="0.001648"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.056229" elapsed="0.001692"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.058509" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.058073" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.059057" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.058701" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.059134" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.059334" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.055907" elapsed="0.003453"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.059518" elapsed="0.000428"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.017926" elapsed="0.042084"/>
</kw>
<arg>f45.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:29.973587" elapsed="0.086481"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:29.966381" elapsed="0.093807"/>
</test>
<test id="s1-s3-s2-t80" name="Test Is Flow 101 Updated" line="217">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.075343" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.075646" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.074999" elapsed="0.000714"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.077041" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7fb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.076051" elapsed="0.001052"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.078092" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.077476" elapsed="0.000675"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.079118" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.078522" elapsed="0.000653"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.080137" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.079541" elapsed="0.000653"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.081383" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.080609" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.081908" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.081572" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.082492" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.082146" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.083015" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.082688" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.083546" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.083209" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.084063" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.083744" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.084619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7fb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.084276" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.074206" elapsed="0.010511"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.085255" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.084867" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.085692" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.085451" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.095540" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.095216" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.100881" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.101147" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.101397" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.095697" elapsed="0.005752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.102013" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.101753" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.104188" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.102203" elapsed="0.002039"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.106378" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.104330" elapsed="0.002204"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.104308" elapsed="0.002270"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.106792" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.107130" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.106929" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.106904" elapsed="0.000344"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.107315" elapsed="0.000023"/>
</return>
<msg time="2026-05-25T00:37:30.109793" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.109861" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.094895" elapsed="0.015003"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.113130" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.110734" elapsed="0.002465"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.110707" elapsed="0.002525"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.113966" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.113515" elapsed="0.000478"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.114526" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.114155" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.114602" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:30.114781" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.110213" elapsed="0.004593"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.114962" elapsed="0.000401"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.094324" elapsed="0.021102"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.123336" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.123017" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.134550" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.135803" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.136440" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.123494" elapsed="0.013006"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.137449" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.136854" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.143189" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.137872" elapsed="0.005975"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.145697" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.143919" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.143899" elapsed="0.001875"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.163857" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.163905" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.145914" elapsed="0.018015"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.165818" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.164008" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.163989" elapsed="0.001910"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.165933" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:30.166128" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.166173" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.122638" elapsed="0.043557"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.168413" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.166771" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.166752" elapsed="0.001731"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.169040" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.168631" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.169603" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.169230" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.169679" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:30.169859" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.166434" elapsed="0.003450"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.170040" elapsed="0.000406"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.121990" elapsed="0.048519"/>
</kw>
<arg>f101.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.067395" elapsed="0.103171"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.060497" elapsed="0.110184"/>
</test>
<test id="s1-s3-s2-t81" name="Test Is Flow 102 Updated" line="219">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.181545" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.181698" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.181406" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.182320" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7ab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.181881" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.182783" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.182503" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.183233" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.182962" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.183733" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.183428" elapsed="0.000331"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.184672" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.183909" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.185193" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.184861" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.185777" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.185449" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.186319" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.185972" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.186828" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.186513" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.187499" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.187158" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.188047" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c7ab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.187717" elapsed="0.000372"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.181061" elapsed="0.007084"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.188697" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.188312" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.189121" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.188881" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.197163" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.196863" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.202473" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.202584" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.202681" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.197361" elapsed="0.005345"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.203126" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.202867" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.205342" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.203334" elapsed="0.002060"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.207246" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.205464" elapsed="0.001865"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.205444" elapsed="0.001910"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.207497" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.207724" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.207589" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.207573" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.207831" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:37:30.209904" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.209972" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.196542" elapsed="0.013464"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.213258" elapsed="0.000042"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.210836" elapsed="0.002512"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.210809" elapsed="0.002573"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.214190" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.213599" elapsed="0.000631"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.215017" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.214495" elapsed="0.000561"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.215127" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:37:30.215417" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.210341" elapsed="0.005114"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.215685" elapsed="0.000571"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.195961" elapsed="0.020409"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.224836" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.224499" elapsed="0.000366"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.234797" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.236041" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.236685" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.224994" elapsed="0.011752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.237744" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.237104" elapsed="0.000744"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.242846" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.238171" elapsed="0.005332"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.245386" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.243576" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.243556" elapsed="0.001923"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.265515" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.265563" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.245622" elapsed="0.019964"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.267499" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.265665" elapsed="0.001891"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.265646" elapsed="0.001936"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.267615" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:30.267819" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.267864" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.224076" elapsed="0.043810"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.270057" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.268462" elapsed="0.001641"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.268443" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.270721" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.270312" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.271335" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.270911" elapsed="0.000453"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.271413" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.271595" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.268105" elapsed="0.003516"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.271778" elapsed="0.000387"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.223455" elapsed="0.048773"/>
</kw>
<arg>f102.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.177756" elapsed="0.094551"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.170860" elapsed="0.101564"/>
</test>
<test id="s1-s3-s2-t82" name="Test Is Flow 103 Updated" line="221">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.283396" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.283541" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.283239" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.284151" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.283724" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.284631" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.284350" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.285083" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.284812" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.285548" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.285263" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.286493" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.285726" elapsed="0.000798"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.287178" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.286687" elapsed="0.000534"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.287758" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.287432" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.288303" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.287954" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.288817" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.288499" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.289352" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.289014" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.289876" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.289551" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.282910" elapsed="0.007061"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.290521" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.290120" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.290980" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.290704" elapsed="0.000340"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.298972" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.298666" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.304423" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.304574" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.304685" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.299163" elapsed="0.005548"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.305135" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.304875" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.307414" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.305348" elapsed="0.002119"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.310014" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.307541" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.307520" elapsed="0.002629"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.310376" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.310726" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.310509" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.310485" elapsed="0.000355"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.310885" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:30.313228" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.313315" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.298345" elapsed="0.015004"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.316464" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.314114" elapsed="0.002417"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.314089" elapsed="0.002473"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.317166" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.316762" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.317735" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.317375" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.317812" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.317993" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.313648" elapsed="0.004370"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.318175" elapsed="0.000409"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.297761" elapsed="0.020891"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.326577" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.326263" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.335431" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.335985" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.336305" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.326746" elapsed="0.009588"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.336752" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.336498" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.339534" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.336941" elapsed="0.003244"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.342058" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.340261" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.340241" elapsed="0.001889"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.360615" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.360664" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.342287" elapsed="0.018402"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.362672" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.360771" elapsed="0.001960"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.360751" elapsed="0.002006"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.362791" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.362991" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.363035" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.325880" elapsed="0.037178"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.365284" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.363643" elapsed="0.001690"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.363624" elapsed="0.001731"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.365924" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.365503" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.366488" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.366115" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.366565" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.366745" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.363303" elapsed="0.003467"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.366927" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.325240" elapsed="0.042158"/>
</kw>
<arg>f103.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.279602" elapsed="0.087854"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.272602" elapsed="0.094977"/>
</test>
<test id="s1-s3-s2-t83" name="Test Is Flow 104 Updated" line="223">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.378619" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.378769" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.378478" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.379397" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.378953" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.379859" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.379580" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.380334" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.380045" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.380782" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.380513" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.381742" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.380959" elapsed="0.000814"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.382278" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.381931" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.382848" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.382521" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.383396" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.383046" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.383914" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.383591" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.384450" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.384112" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.384969" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.384647" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.378126" elapsed="0.006939"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.385618" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.385215" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.386067" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.385823" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.395949" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.395627" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.401432" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.401572" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.401682" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.396110" elapsed="0.005597"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.402324" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.402019" elapsed="0.000351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.404512" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.402520" elapsed="0.002044"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.406474" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.404645" elapsed="0.002026"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.404620" elapsed="0.002085"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.406852" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.407078" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.406944" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.406928" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.407185" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:37:30.408846" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.408891" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.395301" elapsed="0.013614"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.411109" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.409485" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.409467" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.411748" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.411342" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.412306" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.411937" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.412381" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:30.412560" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.409132" elapsed="0.003452"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.412745" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.394684" elapsed="0.018516"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.421088" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.420772" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.430117" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.430737" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cook... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.431046" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.421251" elapsed="0.009862"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.431568" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.431301" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.434424" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;71000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;573000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;568000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;576000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;76000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;74000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;68000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;580000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;577000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;73000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;574000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;84000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;570000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;80000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;578000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;595000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;592000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;90000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;649000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;98000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;599000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;102000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;101000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;62000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;115000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;5&lt;/second&gt;&lt;nanosecond&gt;562000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;107000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;4&lt;/second&gt;&lt;nanosecond&gt;561000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;606000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;65000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;567000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;63000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;108000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;565000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.431763" elapsed="0.003314"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.436967" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.435160" elapsed="0.001861"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.435133" elapsed="0.001911"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.454685" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.454737" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.437188" elapsed="0.017573"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.456810" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.454857" elapsed="0.002011"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.454832" elapsed="0.002063"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.456933" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:37:30.457149" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.457193" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.420386" elapsed="0.036830"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.459464" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.457850" elapsed="0.001661"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.457832" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.460172" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.459689" elapsed="0.000510"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.460736" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.460379" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.460811" elapsed="0.000177"/>
</return>
<msg time="2026-05-25T00:37:30.461138" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.457491" elapsed="0.003672"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.461341" elapsed="0.000408"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.419734" elapsed="0.042078"/>
</kw>
<arg>f104.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.374806" elapsed="0.087064"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.367875" elapsed="0.094125"/>
</test>
<test id="s1-s3-s2-t84" name="Test Is Flow 105 Updated" line="225">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.473254" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.473441" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.473099" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.474082" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c6c50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.473633" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.474564" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.474280" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.475015" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.474743" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.475484" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.475192" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.476472" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.475664" elapsed="0.000840"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.477006" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.476667" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.477613" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.477282" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.478139" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.477810" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.478667" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.478350" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.479187" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.478865" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.479732" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c6c50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.479403" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.472761" elapsed="0.007068"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.480432" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.479982" elapsed="0.000483"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.480869" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.480619" elapsed="0.000313"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.488961" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.488641" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.493923" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.494068" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.494171" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.489120" elapsed="0.005077"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.494662" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.494395" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.496948" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.494858" elapsed="0.002143"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.498897" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.497083" elapsed="0.001945"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.497058" elapsed="0.002000"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.499207" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.499456" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.499319" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.499301" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.499567" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:37:30.501283" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.501331" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.488286" elapsed="0.013070"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.503587" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.501941" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.501923" elapsed="0.001734"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.504230" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.503812" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.504795" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.504439" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.504872" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.505090" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.501590" elapsed="0.003529"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.505300" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.487689" elapsed="0.018080"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.513973" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.513661" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.523741" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.527590" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.527932" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.514135" elapsed="0.013825"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.528496" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.528172" elapsed="0.000371"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.531160" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.528689" elapsed="0.003128"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.533697" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.531901" elapsed="0.001852"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.531875" elapsed="0.001902"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.553288" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.553349" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.533962" elapsed="0.019412"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.555408" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.553478" elapsed="0.001989"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.553453" elapsed="0.002041"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.555532" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:37:30.555748" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.555792" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.513218" elapsed="0.042597"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.558062" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.556459" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.556440" elapsed="0.001692"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.558805" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.558303" elapsed="0.000530"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.559382" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.559003" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.559459" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.559641" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.556076" elapsed="0.003590"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.559827" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.512577" elapsed="0.047744"/>
</kw>
<arg>f105.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.469367" elapsed="0.091014"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.462359" elapsed="0.098150"/>
</test>
<test id="s1-s3-s2-t85" name="Test Is Flow 106 Updated" line="227">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.571951" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.572146" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.571800" elapsed="0.000375"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.572820" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.572357" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.573310" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.573003" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.573768" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.573494" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.574215" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.573945" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.575216" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.574412" elapsed="0.000835"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.575777" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.575434" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.576397" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.576051" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.576925" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.576596" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.577460" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.577122" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.577986" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.577662" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.578538" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.578195" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.571457" elapsed="0.007181"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.579220" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.578792" elapsed="0.000459"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.579668" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.579423" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.587994" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.587669" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.593227" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.593401" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.593504" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.588156" elapsed="0.005375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.593967" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.593703" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.596298" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.594169" elapsed="0.002185"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.598228" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.596447" elapsed="0.001951"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.596418" elapsed="0.002010"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.598605" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.598843" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.598700" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.598684" elapsed="0.000236"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.598953" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:30.600651" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.600698" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.587341" elapsed="0.013381"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.602936" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.601345" elapsed="0.001638"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.601327" elapsed="0.001678"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.603614" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.603160" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.604195" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.603840" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.604288" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:30.604472" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.600972" elapsed="0.003525"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.604658" elapsed="0.000399"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.586703" elapsed="0.018419"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.613191" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.612845" elapsed="0.000375"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.623619" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.624348" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.624733" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.613383" elapsed="0.011380"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.625398" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.625029" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.628367" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.625593" elapsed="0.003453"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.630960" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.629136" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.629108" elapsed="0.001931"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.649283" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.649346" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.631201" elapsed="0.018170"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.651427" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.649486" elapsed="0.002003"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.649460" elapsed="0.002056"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.651555" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:37:30.651783" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.651828" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.612434" elapsed="0.039417"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.654121" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.652492" elapsed="0.001676"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.652473" elapsed="0.001717"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.654824" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.654365" elapsed="0.000486"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.655390" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.655015" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.655466" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:30.655646" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.652111" elapsed="0.003560"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.655829" elapsed="0.000412"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.611668" elapsed="0.044652"/>
</kw>
<arg>f106.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.568120" elapsed="0.088261"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.561067" elapsed="0.095444"/>
</test>
<test id="s1-s3-s2-t86" name="Test Is Flow 107 Updated" line="229">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.667837" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.668029" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.667674" elapsed="0.000385"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.668739" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.668232" elapsed="0.000537"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.669209" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.668926" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.669696" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.669408" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.670144" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.669874" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.671167" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.670339" elapsed="0.000859"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.671726" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.671383" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.672337" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.671993" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.672870" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.672535" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.673414" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.673069" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.673980" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.673653" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.674524" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.674180" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.667317" elapsed="0.007306"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.675174" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.674776" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.677871" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.675376" elapsed="0.002562"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.685930" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.685607" elapsed="0.000364"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.691408" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.691555" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.691677" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.686106" elapsed="0.005598"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.692161" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.691885" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.694427" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.692371" elapsed="0.002108"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.696415" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.694626" elapsed="0.001865"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.694600" elapsed="0.001917"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.696663" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.696893" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.696756" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.696739" elapsed="0.000232"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.697003" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:30.698679" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.698727" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.685278" elapsed="0.013473"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.700953" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.699349" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.699331" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.701608" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.701176" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.702158" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.701800" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.702239" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:37:30.702473" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.698985" elapsed="0.003514"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.702660" elapsed="0.000402"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.684673" elapsed="0.018455"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.711090" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.710727" elapsed="0.000401"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.719722" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.720332" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.720632" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.711284" elapsed="0.009375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.721094" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.720828" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.723928" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.721303" elapsed="0.003298"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.726474" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.724680" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.724657" elapsed="0.001893"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.744497" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.744552" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.726699" elapsed="0.017878"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.746590" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.744675" elapsed="0.001974"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.744651" elapsed="0.002024"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.746712" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:37:30.746926" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.746972" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.710311" elapsed="0.036685"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.749275" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.747653" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.747633" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.749953" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.749504" elapsed="0.000476"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.750517" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.750144" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.750593" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.750773" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.747248" elapsed="0.003551"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.750956" elapsed="0.000428"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.709665" elapsed="0.041783"/>
</kw>
<arg>f107.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.663856" elapsed="0.087648"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.656867" elapsed="0.094764"/>
</test>
<test id="s1-s3-s2-t87" name="Test Is Flow 108 Updated" line="231">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.762891" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.763076" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.762734" elapsed="0.000371"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.763767" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.763289" elapsed="0.000508"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.764289" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.763952" elapsed="0.000367"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.764747" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.764473" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.765196" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.764925" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.766205" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.765390" elapsed="0.000849"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.766756" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.766417" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.767367" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.767018" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.767895" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.767565" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.768447" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.768090" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.768978" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.768647" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.769523" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4ca930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.769179" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.762392" elapsed="0.007229"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.770169" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.769772" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.770615" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.770369" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.778738" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.778424" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.784386" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.784527" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.784648" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.778898" elapsed="0.005777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.785120" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.784853" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.787329" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.785326" elapsed="0.002055"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.789349" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.787516" elapsed="0.001908"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.787491" elapsed="0.001959"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.789597" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.789826" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.789690" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.789673" elapsed="0.000231"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.789937" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:30.791596" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.791642" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.778085" elapsed="0.013580"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.793853" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.792229" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.792211" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.794498" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.794073" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.795041" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.794688" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.795117" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.795326" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.791892" elapsed="0.003460"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.795511" elapsed="0.000394"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.777490" elapsed="0.018478"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.803843" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.803537" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.813413" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.814000" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.814334" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.804000" elapsed="0.010361"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.814814" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.814540" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.817679" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.815004" elapsed="0.003408"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.820296" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.818497" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.818471" elapsed="0.001903"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.884468" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.884536" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.820518" elapsed="0.064043"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.886653" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.884694" elapsed="0.002022"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.884661" elapsed="0.002083"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.886783" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:37:30.887006" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.887052" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.803135" elapsed="0.083940"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.889349" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.887744" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.887725" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.890029" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.889575" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.890596" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.890221" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.890672" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.890854" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.887350" elapsed="0.003530"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.891038" elapsed="0.000423"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.802507" elapsed="0.089064"/>
</kw>
<arg>f108.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.758975" elapsed="0.132656"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.752001" elapsed="0.139756"/>
</test>
<test id="s1-s3-s2-t88" name="Test Is Flow 109 Updated" line="233">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.902811" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.902981" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.902665" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.903653" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c4450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.903168" elapsed="0.000514"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.904142" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.903855" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.904615" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.904340" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.905064" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.904792" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.906059" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.905245" elapsed="0.000845"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.906607" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.906256" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.907190" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.906864" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.907900" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.907404" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.908474" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.908133" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.908997" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.908673" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.909538" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c4450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.909195" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.902330" elapsed="0.007307"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.910179" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.909788" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.910631" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.910386" elapsed="0.000311"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.918491" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.918154" elapsed="0.000364"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.923612" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.923753" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:30.923853" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.918652" elapsed="0.005228"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.924339" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.924049" elapsed="0.000383"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.926612" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.924580" elapsed="0.002085"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:30.928598" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-05-25T00:37:30.926796" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.926772" elapsed="0.001928"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:30.928845" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.929072" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.928936" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:30.928920" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.929179" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:30.930839" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:30.930886" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.917831" elapsed="0.013079"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.933130" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.931488" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.931470" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.933775" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.933366" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.934342" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.933966" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.934419" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:30.934603" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.931133" elapsed="0.003495"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.934786" elapsed="0.000396"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.917230" elapsed="0.018020"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.943141" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:30.942829" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:30.951750" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:30.952347" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:30.952646" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:30.943319" elapsed="0.009354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.953104" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.952844" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.955951" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:30.953337" elapsed="0.003278"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.958515" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.956692" elapsed="0.001875"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.956670" elapsed="0.001920"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.975477" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:30.975528" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:30.958739" elapsed="0.016814"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:30.977521" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:30.975648" elapsed="0.001932"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.975625" elapsed="0.001981"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:30.977643" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:37:30.977882" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:30.977928" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:30.942444" elapsed="0.035507"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:30.980174" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:30.978574" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:30.978555" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.980861" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.980414" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.981421" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:30.981050" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:30.981497" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:30.981677" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:30.978201" elapsed="0.003501"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:30.981863" elapsed="0.000457"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:30.941796" elapsed="0.040589"/>
</kw>
<arg>f109.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.898992" elapsed="0.083454"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.892101" elapsed="0.090471"/>
</test>
<test id="s1-s3-s2-t89" name="Test Is Flow 110 Updated" line="235">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:30.993769" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:30.993986" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:30.993616" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:30.994742" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd296c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:30.994181" elapsed="0.000593"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.995216" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.994933" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.995686" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.995415" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:30.996139" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:30.995868" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:30.997215" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:30.996337" elapsed="0.000912"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.997766" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.997427" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.998370" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.998025" elapsed="0.000430"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.998949" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.998612" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:30.999482" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.999145" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.000002" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:30.999682" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.000537" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd296c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.000198" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:30.993258" elapsed="0.007378"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.001180" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.000786" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.001624" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.001380" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.009697" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.009382" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.015132" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.015303" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.015407" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.009861" elapsed="0.005571"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.015876" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.015605" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.018081" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.016066" elapsed="0.002067"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.020014" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.018215" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.018190" elapsed="0.001924"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.020334" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.020565" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.020429" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.020412" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.020673" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:37:31.022339" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.022385" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.009034" elapsed="0.013374"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.024642" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.022980" elapsed="0.001709"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.022962" elapsed="0.001751"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.025298" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.024865" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.025849" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.025492" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.025925" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.026268" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.022636" elapsed="0.003660"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.026458" elapsed="0.000406"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.008442" elapsed="0.018489"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.034819" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.034510" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.044957" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.045588" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.045922" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.034978" elapsed="0.010972"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.046473" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.046151" elapsed="0.000370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.051285" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.046666" elapsed="0.005300"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.053857" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.052053" elapsed="0.001858"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.052026" elapsed="0.001909"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.071574" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.071635" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.054089" elapsed="0.017571"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.073793" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.071779" elapsed="0.002077"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.071749" elapsed="0.002134"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.073923" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:31.074150" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.074195" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.034107" elapsed="0.040111"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.076506" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.074861" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.074842" elapsed="0.001734"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.077202" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.076739" elapsed="0.000490"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.077769" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.077413" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.077844" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:37:31.078028" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.074492" elapsed="0.003561"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.078213" elapsed="0.000432"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.033469" elapsed="0.045243"/>
</kw>
<arg>f110.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:30.989866" elapsed="0.088907"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:30.982913" elapsed="0.095990"/>
</test>
<test id="s1-s3-s2-t90" name="Test Is Flow 113 Updated" line="237">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.090243" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.090435" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.090088" elapsed="0.000376"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.091097" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c6a70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.090631" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.091587" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.091300" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.092041" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.091767" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.092512" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.092218" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.093531" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.092691" elapsed="0.000872"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.094066" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.093726" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.094672" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.094345" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.095195" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.094867" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.095727" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.095409" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.096246" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.095922" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.096990" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2c6a70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.096458" elapsed="0.000580"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.089743" elapsed="0.007388"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.097723" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.097304" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.098160" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.097910" elapsed="0.000317"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.106186" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.105862" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.111495" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.111648" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.111764" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.106373" elapsed="0.005418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.112319" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.112001" elapsed="0.000365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.114617" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.112509" elapsed="0.002161"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.116611" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.114824" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.114794" elapsed="0.001922"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.116875" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.117106" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.116968" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.116951" elapsed="0.000232"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.117215" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:37:31.119051" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.119120" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.105523" elapsed="0.013631"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.122513" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.120046" elapsed="0.002538"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.120019" elapsed="0.002598"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.123254" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.122806" elapsed="0.000490"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.123815" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.123463" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.123890" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:37:31.124078" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.119533" elapsed="0.004571"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.124282" elapsed="0.000410"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.104847" elapsed="0.019912"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.133015" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.132663" elapsed="0.000382"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.142309" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.143385" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.143860" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.133186" elapsed="0.010715"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.144662" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.144203" elapsed="0.000529"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.149012" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.144947" elapsed="0.005057"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.152855" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.150124" elapsed="0.002814"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.150089" elapsed="0.002885"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.172922" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.172981" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.153226" elapsed="0.019780"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.174940" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.173116" elapsed="0.001884"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.173090" elapsed="0.001937"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.175064" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:37:31.175329" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.175375" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.132213" elapsed="0.043186"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.177723" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.176012" elapsed="0.001759"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.175993" elapsed="0.001801"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.178419" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.177951" elapsed="0.000496"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.178974" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.178612" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.179051" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.179233" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.175648" elapsed="0.003660"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.179474" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.131352" elapsed="0.048596"/>
</kw>
<arg>f113.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.086396" elapsed="0.093611"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.079319" elapsed="0.100811"/>
</test>
<test id="s1-s3-s2-t91" name="Test Is Flow 201 Updated" line="239">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.191317" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.191493" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.191151" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.192153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29940&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.191711" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.192636" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.192353" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.193088" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.192817" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.193560" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.193283" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.194482" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.193741" elapsed="0.000773"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.195015" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.194676" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.195620" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.195288" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.196186" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.195852" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.196721" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.196400" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.197247" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.196921" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.197789" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29940&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.197463" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.190815" elapsed="0.007073"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.198454" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.198040" elapsed="0.000446"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.198886" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.198639" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.207039" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.206724" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.211586" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.211722" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.211822" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.207200" elapsed="0.004648"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.212355" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.212016" elapsed="0.000386"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.215494" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.212549" elapsed="0.003020"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.218381" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.215682" elapsed="0.002804"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.215649" elapsed="0.002938"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.218808" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.219147" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.218944" elapsed="0.000280"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.218919" elapsed="0.000365"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.219336" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:31.221495" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.221541" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.206401" elapsed="0.015165"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.223743" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.222135" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.222117" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.224398" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.223962" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.224966" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.224614" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.225041" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.225221" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.221794" elapsed="0.003457"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.225430" elapsed="0.000398"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.205801" elapsed="0.020092"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.233838" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.233530" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.243699" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.244321" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.244647" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.234000" elapsed="0.010674"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.245198" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.244868" elapsed="0.000378"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.250998" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.245410" elapsed="0.007076"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.255043" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.252651" elapsed="0.002445"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.252605" elapsed="0.002514"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.271796" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.271849" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.255284" elapsed="0.016589"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.273851" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.271966" elapsed="0.001943"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.271943" elapsed="0.001992"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.273971" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:37:31.274182" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.274227" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.233121" elapsed="0.041132"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.276467" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.274864" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.274845" elapsed="0.001692"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.277129" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.276689" elapsed="0.000467"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.277692" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.277336" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.277768" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.277980" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.274514" elapsed="0.003493"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.278168" elapsed="0.000423"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.232460" elapsed="0.046196"/>
</kw>
<arg>f201.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.187524" elapsed="0.091191"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.180481" elapsed="0.098358"/>
</test>
<test id="s1-s3-s2-t92" name="Test Is Flow 202 Updated" line="241">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.290085" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.290308" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.289931" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.290956" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6250&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.290505" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.291446" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.291143" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.292042" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.291627" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.292509" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.292219" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.293508" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.292688" elapsed="0.000851"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.294044" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.293705" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.294689" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.294324" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.295213" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.294885" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.295741" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.295425" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.296448" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.295939" elapsed="0.000557"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.296982" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6250&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.296652" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.289589" elapsed="0.007508"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.297704" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.297300" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.298139" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.297893" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.305975" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.305662" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.311456" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.311595" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.311702" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.306135" elapsed="0.005597"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.312158" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.311899" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.314348" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.312367" elapsed="0.002033"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.316501" elapsed="0.000045"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.314478" elapsed="0.002123"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.314455" elapsed="0.002240"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.316905" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.317227" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.317035" elapsed="0.000290"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.317012" elapsed="0.000348"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.317407" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:31.319723" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.319787" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.305341" elapsed="0.014479"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.322858" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.320614" elapsed="0.002309"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.320589" elapsed="0.002367"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.323774" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.323202" elapsed="0.000599"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.324336" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.323965" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.324413" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.324594" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.320120" elapsed="0.004499"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.324777" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.304742" elapsed="0.020496"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.333199" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.332899" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.343521" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.344902" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.345594" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.333377" elapsed="0.012280"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.346701" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.346048" elapsed="0.000764"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.354601" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.347157" elapsed="0.008094"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.357133" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.355337" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.355316" elapsed="0.001892"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.373454" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.373502" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.357369" elapsed="0.016157"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.375412" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.373605" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.373587" elapsed="0.001908"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.375529" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:31.375727" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.375773" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.332522" elapsed="0.043275"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.377999" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.376375" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.376356" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.378643" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.378219" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.379188" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.378835" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.379282" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.379466" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.376016" elapsed="0.003476"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.379652" elapsed="0.000398"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.331872" elapsed="0.048241"/>
</kw>
<arg>f202.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.286279" elapsed="0.093891"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.279166" elapsed="0.101142"/>
</test>
<test id="s1-s3-s2-t93" name="Test Is Flow 203 Updated" line="243">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.391372" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.391524" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.391211" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.392134" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.391708" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.392619" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.392336" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.393088" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.392800" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.393556" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.393282" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.394445" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.393734" elapsed="0.000743"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.394967" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.394633" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.395549" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.395201" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.396077" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.395745" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.396611" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.396288" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.397174" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.396811" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.397876" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.397394" elapsed="0.000526"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.390878" elapsed="0.007098"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.398544" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.398128" elapsed="0.000447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.398976" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.398730" elapsed="0.000309"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.406781" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.406480" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.411872" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.411991" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.412090" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.406939" elapsed="0.005177"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.412562" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.412302" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.414808" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.412757" elapsed="0.002103"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.416739" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.414932" elapsed="0.001875"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.414911" elapsed="0.001951"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.417010" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.417247" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.417105" elapsed="0.000209"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.417087" elapsed="0.000253"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.417373" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:31.419026" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.419072" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.406139" elapsed="0.012958"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.421273" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.419663" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.419645" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.421940" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.421493" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.422506" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.422131" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.422582" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.422764" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.419327" elapsed="0.003462"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.422949" elapsed="0.000425"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.405580" elapsed="0.017880"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.432113" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.431648" elapsed="0.000508"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.443123" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.444388" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.445009" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.432379" elapsed="0.012691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.446051" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.445471" elapsed="0.000684"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.452194" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.446565" elapsed="0.006292"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.454968" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.452930" elapsed="0.002090"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.452910" elapsed="0.002133"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.476853" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.476903" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.455188" elapsed="0.021740"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.478759" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.477009" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.476990" elapsed="0.001855"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.478879" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.479081" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.479127" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.431031" elapsed="0.048120"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.481363" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.479751" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.479732" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.481996" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.481583" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.482570" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.482189" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.482646" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.482829" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.479407" elapsed="0.003448"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.483015" elapsed="0.000474"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.429937" elapsed="0.053617"/>
</kw>
<arg>f203.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.387574" elapsed="0.096038"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.380615" elapsed="0.103113"/>
</test>
<test id="s1-s3-s2-t94" name="Test Is Flow 204 Updated" line="245">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.494661" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.494815" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.494520" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.495438" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4e50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.495001" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.495928" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.495642" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.496403" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.496111" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.496858" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.496583" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.497751" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.497038" elapsed="0.000745"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.498295" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.497943" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.498862" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.498533" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.499407" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.499059" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.499963" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.499603" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.500508" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.500163" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.501031" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4e50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.500707" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.494169" elapsed="0.006960"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.501687" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.501298" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.502117" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.501873" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.510224" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.509916" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.515028" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.515151" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.515275" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.510405" elapsed="0.004898"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.515731" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.515470" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.518003" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.515931" elapsed="0.002125"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.519920" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.518131" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.518110" elapsed="0.001939"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.520228" elapsed="0.000043"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.520493" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.520350" elapsed="0.000198"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.520331" elapsed="0.000242"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.520607" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:31.523023" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.523094" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.509590" elapsed="0.013540"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.526109" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.523973" elapsed="0.002184"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.523945" elapsed="0.002236"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.526758" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.526349" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.527329" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.526952" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.527407" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.527589" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.523471" elapsed="0.004145"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.527775" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.508956" elapsed="0.019276"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.536176" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.535870" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.546316" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.547119" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.547552" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.536354" elapsed="0.011238"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.548216" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.547833" elapsed="0.000477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.552443" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.548528" elapsed="0.004932"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.556241" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.553569" elapsed="0.002764"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.553539" elapsed="0.002829"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.579132" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.579180" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.556577" elapsed="0.022627"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.581028" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.579303" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.579283" elapsed="0.001827"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.581144" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:31.581358" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.581402" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.535482" elapsed="0.045943"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.584053" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.582058" elapsed="0.002059"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.582039" elapsed="0.002110"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.584945" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.584377" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.585734" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.585212" elapsed="0.000581"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.585863" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:31.586115" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.581705" elapsed="0.004445"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.586421" elapsed="0.000548"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.534839" elapsed="0.052217"/>
</kw>
<arg>f204.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.490852" elapsed="0.096284"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.483976" elapsed="0.103345"/>
</test>
<test id="s1-s3-s2-t95" name="Test Is Flow 205 Updated" line="247">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.599662" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.599809" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.599517" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.600448" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c87c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.599998" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.600920" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.600634" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.601398" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.601103" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.601855" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.601580" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.602922" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.602035" elapsed="0.000920"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.603474" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.603118" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.604048" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.603714" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.604601" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.604254" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.605121" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.604803" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.605676" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.605349" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.606440" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4c87c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.605879" elapsed="0.000610"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.599156" elapsed="0.007394"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.607102" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.606707" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.607553" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.607305" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.615600" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.615292" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.620595" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.620716" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.620818" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.615759" elapsed="0.005086"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.621289" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.621007" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.623510" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.621484" elapsed="0.002078"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.625436" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.623634" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.623613" elapsed="0.001920"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.625678" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.626087" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.625776" elapsed="0.000364"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.625759" elapsed="0.000406"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.626197" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:37:31.628145" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.628210" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.614953" elapsed="0.013296"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.631302" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.629035" elapsed="0.002335"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.629010" elapsed="0.002391"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.632165" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.631605" elapsed="0.000597"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.632947" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.632453" elapsed="0.000532"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.633052" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:37:31.633325" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.628570" elapsed="0.004791"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.633578" elapsed="0.000543"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.614295" elapsed="0.019913"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.642489" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.642169" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.653633" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.654881" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.655558" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.642645" elapsed="0.012974"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.656601" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.655984" elapsed="0.000719"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.665812" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.657023" elapsed="0.009455"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.668553" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.666554" elapsed="0.002060"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.666533" elapsed="0.002109"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.696823" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.696885" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.668820" elapsed="0.028094"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.699301" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.697013" elapsed="0.002361"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.696989" elapsed="0.002417"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.699447" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:37:31.699698" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.699753" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.641790" elapsed="0.057993"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.702661" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.700546" elapsed="0.002175"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.700520" elapsed="0.002232"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.703480" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.702945" elapsed="0.000569"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.704177" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.703728" elapsed="0.000483"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.704292" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:37:31.704520" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.700066" elapsed="0.004486"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.705046" elapsed="0.000925"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.641153" elapsed="0.064957"/>
</kw>
<arg>f205.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.595716" elapsed="0.110524"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.587683" elapsed="0.118835"/>
</test>
<test id="s1-s3-s2-t96" name="Test Is Flow 206 Updated" line="249">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.723776" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.723922" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.723635" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.724549" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbec0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.724103" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.725017" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.724734" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.725521" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.725232" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.725969" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.725699" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.726919" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.726144" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.727455" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.727107" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.728015" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.727690" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.728559" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.728210" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.729068" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.728754" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.729630" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.729307" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.730147" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbec0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.729827" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.723305" elapsed="0.006941"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.730793" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.730411" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.731217" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.730975" elapsed="0.000324"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.739306" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.738983" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.744539" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.744655" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.744754" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.739466" elapsed="0.005314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.745197" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.744941" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.747444" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.745409" elapsed="0.002087"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.749396" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.747567" elapsed="0.001899"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.747548" elapsed="0.001946"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.749702" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.749961" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.749822" elapsed="0.000193"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.749802" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.750072" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:37:31.752335" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.752406" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.738667" elapsed="0.013774"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.755886" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.753294" elapsed="0.002661"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.753249" elapsed="0.002739"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.756821" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.756207" elapsed="0.000654"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.757648" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.757101" elapsed="0.000586"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.757762" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:37:31.758080" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.752772" elapsed="0.005346"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.758373" elapsed="0.000517"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.738079" elapsed="0.020873"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.766795" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.766497" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.776206" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.777024" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.777452" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.766950" elapsed="0.010541"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.778110" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.777733" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.782361" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.778431" elapsed="0.004725"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.785059" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.783230" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.783210" elapsed="0.001923"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.809449" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.809498" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.785292" elapsed="0.024230"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.811409" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.809603" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.809583" elapsed="0.001910"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.811527" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:31.811727" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.811776" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.766099" elapsed="0.045700"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.814015" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.812377" elapsed="0.001685"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.812359" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.814658" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.814237" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.815243" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.814856" elapsed="0.000434"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.815342" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.815525" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.812019" elapsed="0.003532"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.815708" elapsed="0.000394"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.765447" elapsed="0.050718"/>
</kw>
<arg>f206.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.719978" elapsed="0.096244"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.707063" elapsed="0.109317"/>
</test>
<test id="s1-s3-s2-t97" name="Test Is Flow 209 Updated" line="251">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.827638" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.827777" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.827498" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.828395" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.827959" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.828855" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.828575" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.829323" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.829034" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.829769" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.829500" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.830670" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.829944" elapsed="0.000757"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.831189" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.830859" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.831805" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.831444" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.832347" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.832001" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.832856" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.832541" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.833389" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.833053" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.833906" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0e020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.833587" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.827137" elapsed="0.006864"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.834551" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.834150" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.834972" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.834733" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.842971" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.842669" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.847703" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.847823" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.847920" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.843128" elapsed="0.004817"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.848426" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.848143" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.851510" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.848617" elapsed="0.002969"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.854377" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.851689" elapsed="0.002833"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.851660" elapsed="0.002904"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.854777" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.855118" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.854915" elapsed="0.000280"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.854890" elapsed="0.000341"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.855304" elapsed="0.000023"/>
</return>
<msg time="2026-05-25T00:37:31.857451" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.857497" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.842353" elapsed="0.015168"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.859683" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.858071" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.858053" elapsed="0.001699"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.860333" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.859899" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.860930" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.860525" elapsed="0.000432"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.861006" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.861190" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.857735" elapsed="0.003480"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.861397" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.841777" elapsed="0.020072"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.869849" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.869548" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.880522" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.881376" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.881790" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.870130" elapsed="0.011699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.882473" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.882067" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.886632" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.882750" elapsed="0.004855"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.890222" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.887711" elapsed="0.002579"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.887682" elapsed="0.002632"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.912567" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:31.912615" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.890457" elapsed="0.022182"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.914507" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.912720" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.912700" elapsed="0.001889"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:31.914622" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.914824" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:31.914870" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.869147" elapsed="0.045746"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.917086" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.915469" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.915451" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.917745" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.917322" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.918312" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.917938" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.918388" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:31.918569" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.915113" elapsed="0.003482"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.918752" elapsed="0.000389"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.868383" elapsed="0.050822"/>
</kw>
<arg>f209.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.823761" elapsed="0.095519"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.816647" elapsed="0.102749"/>
</test>
<test id="s1-s3-s2-t98" name="Test Is Flow 214 Updated" line="253">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:31.930457" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:31.930631" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:31.930317" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:31.931218" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404d8cc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:31.930813" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.931698" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.931420" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.932147" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.931878" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:31.932613" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:31.932341" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:31.933465" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:31.932789" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.933980" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.933651" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.934576" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.934233" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.935104" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.934774" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.935659" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.935341" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.936177" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.935856" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.936719" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404d8cc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:31.936394" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:31.929967" elapsed="0.006849"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.937371" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.936967" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.937800" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.937554" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.945830" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.945528" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.951094" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.951208" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:31.951330" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.945986" elapsed="0.005370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.951774" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.951515" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.953948" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.951962" elapsed="0.002037"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:31.956349" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:37:31.954069" elapsed="0.002373"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.954049" elapsed="0.002428"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:31.956676" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:31.957043" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:31.956851" elapsed="0.000266"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:31.956826" elapsed="0.000325"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.957196" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:31.959536" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:31.959599" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.945191" elapsed="0.014441"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.962791" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.960423" elapsed="0.002434"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.960397" elapsed="0.002492"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.963692" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.963097" elapsed="0.000632"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.964253" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:31.963896" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:31.964344" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:31.964526" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:31.959930" elapsed="0.004621"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:31.964709" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.944622" elapsed="0.020538"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.973171" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:31.972873" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:31.981678" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:31.982449" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:31.982835" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:31.973344" elapsed="0.009528"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.983504" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.983095" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:31.989711" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:31.983768" elapsed="0.006860"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:31.993250" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:31.990731" elapsed="0.002605"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:31.990703" elapsed="0.002666"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.015174" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:32.015222" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:31.993567" elapsed="0.021681"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.017079" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.015344" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.015324" elapsed="0.001838"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:32.017195" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.017412" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:32.017457" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:31.972493" elapsed="0.044987"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.019654" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.018034" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.018016" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.020332" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.019873" elapsed="0.000487"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.020880" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.020525" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.020956" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.021136" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.017697" elapsed="0.003465"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.021337" elapsed="0.000389"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:31.971854" elapsed="0.049936"/>
</kw>
<arg>f214.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:31.926637" elapsed="0.095210"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:31.919656" elapsed="0.102306"/>
</test>
<test id="s1-s3-s2-t99" name="Test Is Flow 218 Updated" line="255">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:32.032992" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:32.033132" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:32.032851" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:32.033718" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb7e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.033330" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.034184" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.033905" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.034652" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.034381" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.035098" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.034828" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.035849" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:32.035290" elapsed="0.000590"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.036390" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.036038" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.036991" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.036658" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.037543" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.037189" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.038059" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.037741" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.038602" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.038274" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.039127" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb7e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.038802" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:32.032515" elapsed="0.006711"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.039789" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.039395" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.040216" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.039972" elapsed="0.000319"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.048275" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.047956" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.052755" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.052913" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:32.053012" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.048434" elapsed="0.004604"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.053483" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.053199" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.056457" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.053674" elapsed="0.002855"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:32.059237" elapsed="0.000059"/>
</return>
<status status="PASS" start="2026-05-25T00:37:32.056628" elapsed="0.002728"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.056601" elapsed="0.002792"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:32.059605" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.059944" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.059740" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:32.059715" elapsed="0.000395"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.060160" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:37:32.062368" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:32.062415" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:32.047639" elapsed="0.014800"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.064604" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.062989" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.062971" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.065245" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.064825" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.065813" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.065454" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.065890" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.066071" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.062653" elapsed="0.003444"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.066273" elapsed="0.000393"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:32.047059" elapsed="0.019672"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.074744" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.074447" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.085197" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.085875" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:32.086152" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.074900" elapsed="0.011279"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.086618" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.086363" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.092737" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.086915" elapsed="0.007329"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.096407" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.094430" elapsed="0.002027"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.094387" elapsed="0.002093"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.118722" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:32.118771" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:32.096648" elapsed="0.022147"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.120635" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.118875" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.118856" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:32.120754" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.120955" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:32.121000" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:32.074048" elapsed="0.046976"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.123225" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.121602" elapsed="0.001686"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.121584" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.123873" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.123463" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.124445" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.124066" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.124521" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.124703" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.121246" elapsed="0.003483"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.125029" elapsed="0.000434"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:32.073415" elapsed="0.052113"/>
</kw>
<arg>f218.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:32.029188" elapsed="0.096399"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:32.022238" elapsed="0.103464"/>
</test>
<test id="s1-s3-s2-t100" name="Test Is Flow 219 Updated" line="257">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:32.136855" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:32.136996" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:32.136710" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:32.137605" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.137178" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.138066" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.137785" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.138535" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.138248" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.139001" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.138712" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.139840" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:32.139178" elapsed="0.000693"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.140378" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.140029" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.140942" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.140615" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.141485" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.141138" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.141992" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.141678" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.142525" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.142188" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.143086" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fa390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.142722" elapsed="0.000408"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:32.136379" elapsed="0.006807"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.143743" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.143354" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.144170" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.143926" elapsed="0.000302"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.152185" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.151882" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.157048" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.157163" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:32.157283" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.152367" elapsed="0.004943"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.157725" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.157472" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.160010" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.157916" elapsed="0.002165"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:32.162666" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:37:32.160177" elapsed="0.002583"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.160150" elapsed="0.002644"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:32.162992" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.163381" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.163166" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:32.163140" elapsed="0.000381"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.163567" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:37:32.165886" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:32.165948" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:32.151561" elapsed="0.014419"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.168695" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.166765" elapsed="0.001976"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.166740" elapsed="0.002024"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.169334" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.168915" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.169876" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.169524" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.169952" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:37:32.170130" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.166298" elapsed="0.003858"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.170331" elapsed="0.000383"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:32.150950" elapsed="0.019828"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.178761" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.178462" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.187475" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.188293" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:32.188682" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.178917" elapsed="0.009803"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.189338" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.188952" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.193218" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.189606" elapsed="0.004534"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.196760" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.194247" elapsed="0.002584"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.194214" elapsed="0.002649"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.219391" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:32.219439" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:32.197061" elapsed="0.022403"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.221328" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.219544" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.219525" elapsed="0.001886"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:32.221445" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:37:32.221646" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:32.221691" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:32.178059" elapsed="0.043655"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.223914" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.222307" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.222288" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.224566" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.224135" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.225153" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.224762" elapsed="0.000418"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.225230" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:37:32.225432" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.221945" elapsed="0.003513"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.225619" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:32.177317" elapsed="0.048770"/>
</kw>
<arg>f219.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:32.132969" elapsed="0.093178"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:32.125972" elapsed="0.100314"/>
</test>
<test id="s1-s3-s2-t101" name="Test Is Flow 220 Updated" line="259">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:32.237440" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:32.237588" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:32.237295" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:32.238178" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.237775" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.238664" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.238383" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.239120" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.238847" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.239591" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.239317" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.240376" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:32.239771" elapsed="0.000637"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.240899" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.240565" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.241514" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.241135" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.242047" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.241712" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.242576" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.242245" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.243091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.242771" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.243628" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.243303" elapsed="0.000367"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:32.236926" elapsed="0.006800"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.244279" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.243877" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.244708" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.244465" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.252714" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.252407" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.257327" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.257447" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:37:32.257544" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.252871" elapsed="0.004699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.258033" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.257771" elapsed="0.000309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.260795" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.258225" elapsed="0.002641"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:37:32.263466" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:37:32.260964" elapsed="0.002596"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.260937" elapsed="0.002657"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:37:32.263793" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.264158" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.263919" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:37:32.263896" elapsed="0.000395"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.264339" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:37:32.266685" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:37:32.266748" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:32.252064" elapsed="0.014716"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.268931" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.267344" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.267326" elapsed="0.001674"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.269565" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.269146" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.270130" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.269755" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.270205" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.270403" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.266993" elapsed="0.003436"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.270586" elapsed="0.000382"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:32.251503" elapsed="0.019528"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.278854" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.278555" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.287950" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.288725" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/c... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:37:32.289109" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.279009" elapsed="0.010138"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.289757" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.289397" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.295889" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;50&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-49&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;202&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;202&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-48&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;201&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;201&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-45&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;109&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;109&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;593000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-44&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;108&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;108&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;75000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-47&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;113&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;113&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;12&lt;/second&gt;&lt;nanosecond&gt;588000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-46&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;110&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;110&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;13&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-41&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;105&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a000::/84&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;105&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;596000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-40&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;104&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;104&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;96000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-43&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;107&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;107&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;14&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-42&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;106&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdcd:a987:6000:0/100&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;45&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;106&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;15&lt;/second&gt;&lt;nanosecond&gt;94000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-38&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;102&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;102&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;88000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-37&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;101&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;101&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;17&lt;/second&gt;&lt;nanosecond&gt;600000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-39&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;103&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;103&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;16&lt;/second&gt;&lt;nanosecond&gt;597000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-34&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;38&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;38&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;93000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-33&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;36&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;36&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;19&lt;/second&gt;&lt;nanosecond&gt;594000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-36&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;45&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;4293984255&lt;/metadata-mask&gt;&lt;metadata&gt;1180719718&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;45&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;104000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-35&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;43&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;43&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;18&lt;/second&gt;&lt;nanosecond&gt;590000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-30&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;24&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;24&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;100000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-32&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;31&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;31&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;105000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-31&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;25&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;58&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv6-match&gt;&lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;&lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;&lt;/icmpv6-match&gt;&lt;/match&gt;&lt;cookie&gt;25&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;20&lt;/second&gt;&lt;nanosecond&gt;598000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-27&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;21&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;21&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;615000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-26&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;20&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata-mask&gt;61695&lt;/metadata-mask&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;20&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-29&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-label&gt;&lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;&lt;/ipv6-label&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;23&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;21&lt;/second&gt;&lt;nanosecond&gt;612000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-28&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;22&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;22&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;22&lt;/second&gt;&lt;nanosecond&gt;110000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-23&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;17&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;protocol-match-fields&gt;&lt;mpls-tc&gt;3&lt;/mpls-tc&gt;&lt;mpls-bos&gt;1&lt;/mpls-bos&gt;&lt;mpls-label&gt;567&lt;/mpls-label&gt;&lt;/protocol-match-fields&gt;&lt;/match&gt;&lt;cookie&gt;17&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;616000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-9&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;1&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;1&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;669000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-22&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;16&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;16&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;116000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-25&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;19&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;/match&gt;&lt;cookie&gt;19&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;23&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-24&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;18&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;&lt;/match&gt;&lt;cookie&gt;18&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;24&lt;/second&gt;&lt;nanosecond&gt;114000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-21&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;15&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;78&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;15&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;25&lt;/second&gt;&lt;nanosecond&gt;618000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-20&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;14&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:fc:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2054&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;arp-target-hardware-address&gt;&lt;address&gt;fe:dc:ba:98:76:54&lt;/address&gt;&lt;/arp-target-hardware-address&gt;&lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;&lt;arp-op&gt;1&lt;/arp-op&gt;&lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;&lt;arp-source-hardware-address&gt;&lt;address&gt;12:34:56:78:98:ab&lt;/address&gt;&lt;/arp-source-hardware-address&gt;&lt;/match&gt;&lt;cookie&gt;14&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;118000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-50&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;203&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;203&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;11&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-19&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;11&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;1&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;27&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;icmpv4-match&gt;&lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;&lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;&lt;/icmpv4-match&gt;&lt;/match&gt;&lt;cookie&gt;11&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;26&lt;/second&gt;&lt;nanosecond&gt;619000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-16&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;8&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:00&lt;/address&gt;&lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;&lt;ip-dscp&gt;2&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;8&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;122000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-15&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;7&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;15&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;7&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;28&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-18&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;10&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;10&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;121000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-17&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;9&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;20:14:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;&lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;8&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;9&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;27&lt;/second&gt;&lt;nanosecond&gt;620000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-56&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;218&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;tunnel&gt;&lt;tunnel-mask&gt;65520&lt;/tunnel-mask&gt;&lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;&lt;/tunnel&gt;&lt;/match&gt;&lt;cookie&gt;218&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;go-to-table&gt;&lt;table_id&gt;3&lt;/table_id&gt;&lt;/go-to-table&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;82000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-12&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;4&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;34887&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;4&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;135000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-55&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;214&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;56&lt;/ip-protocol&gt;&lt;ip-ecn&gt;1&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;214&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;8&lt;/second&gt;&lt;nanosecond&gt;582000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-11&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;3&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:00:01&lt;/address&gt;&lt;/ethernet-source&gt;&lt;/ethernet-match&gt;&lt;/match&gt;&lt;cookie&gt;3&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;30&lt;/second&gt;&lt;nanosecond&gt;635000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-58&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;220&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;220&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;write-metadata&gt;&lt;metadata-mask&gt;12&lt;/metadata-mask&gt;&lt;metadata&gt;10&lt;/metadata&gt;&lt;/write-metadata&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-14&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;6&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;&lt;/match&gt;&lt;cookie&gt;6&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;127000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-57&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;219&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;vlan-match&gt;&lt;vlan-id&gt;&lt;vlan-id&gt;10&lt;/vlan-id&gt;&lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;&lt;/vlan-id&gt;&lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;&lt;/vlan-match&gt;&lt;/match&gt;&lt;cookie&gt;219&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;clear-actions/&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;7&lt;/second&gt;&lt;nanosecond&gt;581000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-13&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;5&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;/match&gt;&lt;cookie&gt;5&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;29&lt;/second&gt;&lt;nanosecond&gt;626000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-52&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;205&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;205&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;85000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-51&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;204&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;&lt;udp-source-port&gt;183&lt;/udp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;17&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;204&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;587000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-54&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;209&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;34525&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;&lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;&lt;ipv6-source&gt;1234:5678:9abc:def0:fdc0::/76&lt;/ipv6-source&gt;&lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;&lt;metadata&gt;&lt;metadata&gt;12345&lt;/metadata&gt;&lt;/metadata&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;6&lt;/ip-protocol&gt;&lt;ip-ecn&gt;3&lt;/ip-ecn&gt;&lt;ip-dscp&gt;60&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;209&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;83000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-10&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;2&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;&lt;/match&gt;&lt;cookie&gt;2&lt;/cookie&gt;&lt;instructions&gt;&lt;instruction&gt;&lt;order&gt;0&lt;/order&gt;&lt;apply-actions&gt;&lt;action&gt;&lt;order&gt;0&lt;/order&gt;&lt;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;31&lt;/second&gt;&lt;nanosecond&gt;128000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-53&lt;/id&gt;&lt;table_id&gt;2&lt;/table_id&gt;&lt;priority&gt;206&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-timeout&gt;0&lt;/idle-timeout&gt;&lt;match&gt;&lt;ethernet-match&gt;&lt;ethernet-source&gt;&lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;&lt;/ethernet-source&gt;&lt;ethernet-destination&gt;&lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;&lt;/ethernet-destination&gt;&lt;ethernet-type&gt;&lt;type&gt;2048&lt;/type&gt;&lt;/ethernet-type&gt;&lt;/ethernet-match&gt;&lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;&lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;&lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;&lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;&lt;in-port&gt;0&lt;/in-port&gt;&lt;ip-match&gt;&lt;ip-protocol&gt;132&lt;/ip-protocol&gt;&lt;ip-ecn&gt;0&lt;/ip-ecn&gt;&lt;ip-dscp&gt;0&lt;/ip-dscp&gt;&lt;/ip-match&gt;&lt;/match&gt;&lt;cookie&gt;206&lt;/cookie&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;9&lt;/second&gt;&lt;nanosecond&gt;585000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.290026" elapsed="0.006773"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.299426" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.296900" elapsed="0.002597"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.296873" elapsed="0.002656"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.320796" level="INFO">${pres} = True</msg>
<msg time="2026-05-25T00:37:32.320844" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:37:32.299726" elapsed="0.021142"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:37:32.322701" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:37:32.320947" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.320928" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:37:32.322817" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.323015" level="INFO">${presence_table} = True</msg>
<msg time="2026-05-25T00:37:32.323059" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:37:32.278146" elapsed="0.044935"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:37:32.325314" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:37:32.323687" elapsed="0.001675"/>
</branch>
<status status="PASS" start="2026-05-25T00:37:32.323669" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.325946" level="INFO">${msgf} = The flow is expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.325533" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.326510" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:37:32.326135" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:37:32.326586" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:37:32.326767" level="INFO">${msgf} = The flow is expected in operational data store, but it is present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:37:32.323347" elapsed="0.003446"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:37:32.326951" elapsed="0.000430"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:37:32.277529" elapsed="0.049917"/>
</kw>
<arg>f220.xml</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:37:32.233558" elapsed="0.093943"/>
</kw>
<status status="PASS" start="2026-05-25T00:37:32.226593" elapsed="0.101022"/>
</test>
<test id="s1-s3-s2-t102" name="Test Delete Flows Group 0" line="261">
<for flavor="IN">
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.328847" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.328595" elapsed="0.000298"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:32.332408" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:32.332550" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:32.332255" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:32.333126" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355530&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.332732" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.333607" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.333327" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.334060" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.333786" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.334533" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.334243" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.335302" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:32.334710" elapsed="0.000624"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.335832" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.335490" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.336401" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.336070" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.336911" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.336596" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.337424" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.337104" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.337927" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.337620" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.338449" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355530&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.338122" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:32.331917" elapsed="0.006629"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:32.340038" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e356de0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.339509" elapsed="0.000557"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.340217" elapsed="0.000286"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.340656" elapsed="0.000243"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.341051" elapsed="0.000265"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.341470" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:32.342231" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e355f30&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.341960" elapsed="0.000316"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.342429" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:32.343180" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.342828" elapsed="0.000418"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:32.343821" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.343410" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:32.872353" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '898', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:32.872650" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:32.872918" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.343986" elapsed="0.528994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.878177" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.873507" elapsed="0.004805"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e355530&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:32.339136" elapsed="0.539320"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:32.338697" elapsed="0.539878"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-05-25T00:37:32.328464" elapsed="0.550192"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.879828" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:32.879227" elapsed="0.000703"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:32.885644" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:32.885932" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:32.885497" elapsed="0.000466"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:32.886566" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbd80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.886118" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.887041" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.886752" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.887544" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.887223" elapsed="0.000349"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:32.888001" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:32.887727" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:32.888828" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:32.888181" elapsed="0.000679"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.889374" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.889023" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.889887" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.889573" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.890417" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.890083" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.890925" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.890615" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.891484" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.891123" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:32.892001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4cbd80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:32.891688" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:32.885121" elapsed="0.006977"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:32.893414" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e2fab10&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.893065" elapsed="0.000377"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:32.893592" elapsed="0.000452"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.894198" elapsed="0.000262"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.894609" elapsed="0.000290"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.895052" elapsed="0.000361"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:32.895873" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dc0c9a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.895594" elapsed="0.000307"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:32.896051" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:32.896827" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.896466" elapsed="0.000420"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:32.897431" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:32.897033" elapsed="0.000429"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:33.374320" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '889', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:33.374477" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:33.374718" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:32.897592" elapsed="0.477185"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.380218" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:33.375193" elapsed="0.005214"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4cbd80&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:32.892711" elapsed="0.487887"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:32.892268" elapsed="0.488504"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-05-25T00:37:32.878897" elapsed="0.501990"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.382575" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:33.381736" elapsed="0.000986"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:33.387229" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:33.387420" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:33.387080" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:33.388032" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fbb00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:33.387607" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:33.388520" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:33.388217" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:33.389046" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:33.388768" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:33.389701" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:33.389225" elapsed="0.000503"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:33.390666" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:33.389941" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.391203" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.390868" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.391858" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.391457" elapsed="0.000443"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.392393" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.392057" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.392893" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.392590" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.393414" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.393090" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.393953" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fbb00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.393613" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:33.386699" elapsed="0.007363"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:33.395417" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4dc180&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.395067" elapsed="0.000379"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:33.395689" elapsed="0.000458"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.396331" elapsed="0.000246"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:33.396729" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.397125" elapsed="0.000354"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:33.397905" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2fb830&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:33.397631" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:33.398141" elapsed="0.000270"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:33.398926" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.398564" elapsed="0.000424"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:33.399529" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.399133" elapsed="0.000427"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:33.875361" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '865', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:33.875653" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:33.875912" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:33.399691" elapsed="0.476281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.881070" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:33.876453" elapsed="0.004714"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e2fbb00&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:33.394704" elapsed="0.486629"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:33.394222" elapsed="0.487230"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-05-25T00:37:33.381210" elapsed="0.500323"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.882652" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:33.882062" elapsed="0.000689"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:33.886884" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:33.887051" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:33.886732" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:33.887704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfce0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:33.887271" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:33.888175" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:33.887893" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:33.888648" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:33.888375" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:33.889095" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:33.888826" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:33.889942" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:33.889287" elapsed="0.000686"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.890487" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.890133" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.890999" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.890686" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.891578" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.891196" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.892219" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.891774" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.892748" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.892438" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:33.893277" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dfce0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:33.892952" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:33.886373" elapsed="0.007002"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:33.894838" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4df560&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.894327" elapsed="0.000539"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:33.895016" elapsed="0.000305"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.895474" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:33.895865" elapsed="0.000287"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.896322" elapsed="0.000341"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:33.897093" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e2fb3d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:33.896818" elapsed="0.000303"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:33.897291" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:33.898056" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.897693" elapsed="0.000426"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:33.898675" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:33.898282" elapsed="0.000425"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:34.380778" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1082', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:34.380972" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:34.381380" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:33.898837" elapsed="0.482614"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.386849" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:34.381921" elapsed="0.005052"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4dfce0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:33.893955" elapsed="0.493158"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:33.893524" elapsed="0.493707"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-05-25T00:37:33.881772" elapsed="0.505573"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.388663" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:34.387891" elapsed="0.000886"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:34.395384" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:34.395611" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:34.395153" elapsed="0.000499"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:34.396618" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dce50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:34.395869" elapsed="0.000793"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:34.397402" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:34.396964" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:34.398062" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:34.397659" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:34.398780" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:34.398363" elapsed="0.000455"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:34.400006" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:34.399035" elapsed="0.001015"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.400876" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.400297" elapsed="0.000646"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.401645" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.401175" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.402379" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.401918" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.403090" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.402651" elapsed="0.000506"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.403832" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.403398" elapsed="0.000499"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.404632" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dce50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.404124" elapsed="0.000570"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:34.394640" elapsed="0.010130"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:34.406867" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4dd2b0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.406118" elapsed="0.000789"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:34.407116" elapsed="0.000403"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.407737" elapsed="0.000442"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:34.408422" elapsed="0.000389"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.409027" elapsed="0.000496"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:34.410122" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dfec0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:34.409741" elapsed="0.000420"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:34.410396" elapsed="0.000346"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:34.411488" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.410952" elapsed="0.000627"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:34.412431" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.411839" elapsed="0.000637"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:34.879615" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1191', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:34.879802" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:34.880064" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:34.412660" elapsed="0.467465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.885304" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:34.880663" elapsed="0.004745"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4dce50&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:34.405620" elapsed="0.479927"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:34.404978" elapsed="0.480690"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-05-25T00:37:34.387592" elapsed="0.498157"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.886893" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:34.886321" elapsed="0.000681"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:34.891772" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:34.891984" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:34.891623" elapsed="0.000396"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:34.892679" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:34.892179" elapsed="0.000530"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:34.893176" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:34.892870" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:34.893658" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:34.893380" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:34.894130" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:34.893841" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:34.895012" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:34.894328" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.895556" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.895206" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.896059" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.895752" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.896584" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.896269" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.897929" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.897129" elapsed="0.000913"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.899216" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.898490" elapsed="0.000868"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:34.900443" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:34.899710" elapsed="0.000829"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:34.891238" elapsed="0.009423"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:34.906041" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4dd760&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.905547" elapsed="0.000535"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:34.906315" elapsed="0.000377"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.906915" elapsed="0.000358"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:34.907489" elapsed="0.000349"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.908054" elapsed="0.000542"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:34.909344" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4df2e0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:34.908842" elapsed="0.000544"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:34.909608" elapsed="0.000343"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:34.910504" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.910108" elapsed="0.000463"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:34.911171" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:34.910730" elapsed="0.000473"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:35.381164" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1151', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:35.381342" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:35.381638" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:34.911357" elapsed="0.470320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.384910" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:35.382007" elapsed="0.002964"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e302390&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:34.901998" elapsed="0.483064"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:34.901072" elapsed="0.484067"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-05-25T00:37:34.885991" elapsed="0.499199"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.385889" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:35.385550" elapsed="0.000401"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:35.390761" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:35.390973" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:35.390569" elapsed="0.000443"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:35.391844" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:35.391223" elapsed="0.000659"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:35.392513" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:35.392088" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:35.393148" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:35.392785" elapsed="0.000400"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:35.393774" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:35.393413" elapsed="0.000395"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:35.395041" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:35.394012" elapsed="0.001071"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.395758" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.395321" elapsed="0.000497"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.396456" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.396024" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.397184" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.396763" elapsed="0.000482"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.397871" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.397472" elapsed="0.000459"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.398580" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.398146" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.399276" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dc090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.398849" elapsed="0.000487"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:35.390077" elapsed="0.009329"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:35.401446" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4ded90&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.400960" elapsed="0.000523"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:35.401681" elapsed="0.000360"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.402264" elapsed="0.000323"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:35.402792" elapsed="0.000326"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.403401" elapsed="0.000448"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:35.404445" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dc4a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:35.404058" elapsed="0.000424"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:35.404685" elapsed="0.000390"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:35.405834" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.405308" elapsed="0.000616"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:35.406705" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.406122" elapsed="0.000625"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:35.882168" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1336', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:35.882413" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:35.882674" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:35.406929" elapsed="0.475806"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.887864" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:35.883190" elapsed="0.004851"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4dc090&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:35.400188" elapsed="0.487997"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:35.399610" elapsed="0.488738"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-05-25T00:37:35.385370" elapsed="0.503064"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.889355" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:35.888942" elapsed="0.000482"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:35.894437" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:35.894661" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:35.894212" elapsed="0.000555"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:35.895707" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:35.894990" elapsed="0.000759"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:35.896511" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:35.895977" elapsed="0.000573"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:35.897099" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:35.896776" elapsed="0.000351"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:35.897575" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:35.897298" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:35.898561" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:35.897755" elapsed="0.000838"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.899085" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.898754" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.899826" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.899302" elapsed="0.000568"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.900407" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.900028" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.900920" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.900607" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.901457" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.901123" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:35.901981" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dd710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:35.901656" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:35.893712" elapsed="0.008368"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:35.903430" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4ddc60&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.903048" elapsed="0.000410"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:35.903606" elapsed="0.000269"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.904028" elapsed="0.000285"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:35.904466" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.904861" elapsed="0.000333"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:35.905645" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dc090&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:35.905375" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:35.905821" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:35.906627" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.906215" elapsed="0.000514"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:35.907328" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:35.906878" elapsed="0.000482"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:36.385380" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1490', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:36.385582" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:36.385950" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:35.907492" elapsed="0.478567"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.391661" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:36.386660" elapsed="0.005106"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4dd710&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:35.902689" elapsed="0.489225"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:35.902236" elapsed="0.489767"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-05-25T00:37:35.888677" elapsed="0.503382"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.392847" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:36.392472" elapsed="0.000443"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:36.397961" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:36.398201" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:36.397754" elapsed="0.000512"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:36.399225" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcb30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:36.398519" elapsed="0.000770"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:36.399927" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:36.399532" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:36.400413" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:36.400113" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:36.400888" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:36.400605" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:36.402091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:36.401069" elapsed="0.001054"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.402670" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.402311" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.403235" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.402874" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.403899" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.403566" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.404430" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.404099" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.404962" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.404642" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.405502" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4dcb30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.405163" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:36.397208" elapsed="0.008402"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:36.406993" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4dcdb0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.406615" elapsed="0.000407"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:36.407171" elapsed="0.000334"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.407667" elapsed="0.000249"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:36.408068" elapsed="0.000267"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.408488" elapsed="0.000354"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:36.409294" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dc3b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:36.409000" elapsed="0.000323"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:36.409473" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:36.410318" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.409886" elapsed="0.000499"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:36.410973" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.410535" elapsed="0.000470"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:36.887658" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1446', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:36.887972" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:36.888300" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:36.411138" elapsed="0.477227"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.893518" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:36.888823" elapsed="0.004800"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4dcb30&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:36.406223" elapsed="0.487541"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:36.405770" elapsed="0.488114"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-05-25T00:37:36.392244" elapsed="0.501711"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.894681" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:36.894329" elapsed="0.000415"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:36.899691" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:36.899918" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:36.899489" elapsed="0.000471"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:36.900829" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9800&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:36.900177" elapsed="0.000693"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:36.901514" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:36.901089" elapsed="0.000500"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:36.902110" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:36.901810" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:36.902580" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:36.902306" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:36.903754" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:36.902758" elapsed="0.001026"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.904307" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.903954" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.904818" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.904506" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.905346" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.905013" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.905865" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.905543" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.906445" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.906065" elapsed="0.000434"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:36.907043" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9800&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:36.906684" elapsed="0.000407"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:36.898970" elapsed="0.008185"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:36.908748" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4decf0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.908335" elapsed="0.000444"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:36.908960" elapsed="0.000327"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.909475" elapsed="0.000332"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:36.909994" elapsed="0.000383"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.910579" elapsed="0.000395"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:36.911515" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7510&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:36.911161" elapsed="0.000385"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:36.911727" elapsed="0.000286"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:36.912698" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.912187" elapsed="0.000591"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:36.913427" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:36.912953" elapsed="0.000506"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:37.388401" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1450', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:37.388520" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:37.388712" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:36.913591" elapsed="0.475150"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.391222" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:37.389026" elapsed="0.002259"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e0c9800&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:36.907878" elapsed="0.483476"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:36.907360" elapsed="0.484053"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-05-25T00:37:36.894119" elapsed="0.497332"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.391989" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:37.391733" elapsed="0.000303"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:37.395550" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:37.395813" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:37.395403" elapsed="0.000442"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:37.396482" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3545e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:37.396006" elapsed="0.000505"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:37.396959" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:37.396670" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:37.397434" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:37.397142" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:37.397887" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:37.397614" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:37.399047" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:37.398065" elapsed="0.001014"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.399594" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.399258" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.400125" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.399810" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.400651" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.400337" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.401146" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.400844" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.401671" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.401361" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.402175" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3545e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.401869" elapsed="0.000348"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:37.395028" elapsed="0.007261"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:37.403617" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4dc5e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.403242" elapsed="0.000404"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:37.403822" elapsed="0.000274"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.404265" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:37.404658" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.405052" elapsed="0.000355"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:37.405829" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dca90&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:37.405561" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:37.406004" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:37.406809" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.406416" elapsed="0.000504"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:37.407515" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.407073" elapsed="0.000473"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:37.889129" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1441', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:37.889447" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:37.889766" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:37.407676" elapsed="0.482158"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.895508" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:37.890417" elapsed="0.005199"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e3545e0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:37.402881" elapsed="0.492883"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:37.402443" elapsed="0.493452"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-05-25T00:37:37.391573" elapsed="0.504411"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.897206" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:37.896600" elapsed="0.000755"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:37.901306" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:37.901511" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:37.901138" elapsed="0.000403"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:37.902150" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3290&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:37.901698" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:37.902641" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:37.902355" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:37.903097" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:37.902823" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:37.903758" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:37.903292" elapsed="0.000493"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:37.904719" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:37.903939" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.905262" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.904912" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.905820" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.905465" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.906438" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.906078" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.906956" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.906643" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.907499" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.907160" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:37.908021" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3290&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:37.907702" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:37.900765" elapsed="0.007358"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:37.909484" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d1da0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.909102" elapsed="0.000435"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:37.909688" elapsed="0.000304"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.910151" elapsed="0.000270"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:37.910573" elapsed="0.000248"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.910974" elapsed="0.000362"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:37.911767" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d2390&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:37.911492" elapsed="0.000304"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:37.911949" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:37.912774" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.912367" elapsed="0.000477"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:37.913436" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:37.912992" elapsed="0.000477"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:38.391776" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1669', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:38.392084" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:38.392408" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:37.913641" elapsed="0.478830"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.398053" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:38.392925" elapsed="0.005233"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d3290&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:37.908742" elapsed="0.489591"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:37.908296" elapsed="0.490155"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-05-25T00:37:37.896278" elapsed="0.502255"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.399814" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:38.399181" elapsed="0.000732"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:38.405299" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:38.405544" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:38.405058" elapsed="0.000528"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:38.406479" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303bf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:38.405814" elapsed="0.000709"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:38.407212" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:38.406751" elapsed="0.000523"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:38.407900" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:38.407501" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:38.408378" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:38.408089" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:38.409279" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:38.408556" elapsed="0.000754"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.409808" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.409474" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.410330" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.410004" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.410836" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.410523" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.411369" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.411046" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.411874" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.411565" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.412401" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303bf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.412075" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:38.404520" elapsed="0.007979"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:38.413808" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e3023e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.413462" elapsed="0.000373"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:38.413981" elapsed="0.000282"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.414416" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:38.414804" elapsed="0.000341"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.415317" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:38.416082" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7ba0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:38.415810" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:38.416279" elapsed="0.000397"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:38.417353" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.416828" elapsed="0.000592"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:38.417971" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.417568" elapsed="0.000434"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:38.893027" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1234', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:38.893204" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:38.893489" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:38.418132" elapsed="0.475417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.898778" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:38.893996" elapsed="0.004883"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e303bf0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:38.413089" elapsed="0.485924"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:38.412650" elapsed="0.486482"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-05-25T00:37:38.398789" elapsed="0.500423"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.900450" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:38.899786" elapsed="0.000767"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:38.904439" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:38.904608" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:38.904293" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:38.905305" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:38.904850" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:38.905779" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:38.905490" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:38.906230" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:38.905958" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:38.906702" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:38.906428" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:38.907598" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:38.906881" elapsed="0.000749"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.908154" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.907793" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.908685" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.908371" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.909194" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.908880" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.909711" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.909406" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.910216" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.909908" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:38.910743" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e356ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:38.910434" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:38.903897" elapsed="0.006943"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:38.912167" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dcf0040&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.911800" elapsed="0.000396"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:38.912366" elapsed="0.000269"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.912789" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:38.913179" elapsed="0.000266"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.913596" elapsed="0.000522"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:38.914567" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4dc180&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:38.914293" elapsed="0.000302"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:38.914744" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:38.915539" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.915142" elapsed="0.000507"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:38.916258" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:38.915800" elapsed="0.000490"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:39.394170" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1237', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:39.394431" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:39.394709" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:38.916424" elapsed="0.478352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.400358" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:39.395273" elapsed="0.005213"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e356ca0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:38.911444" elapsed="0.489217"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:38.910993" elapsed="0.489848"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-05-25T00:37:38.899490" elapsed="0.501442"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.402140" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:39.401554" elapsed="0.000750"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:39.407508" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:39.407680" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:39.407360" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:39.408364" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf3ce0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:39.407880" elapsed="0.000516"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:39.408918" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:39.408572" elapsed="0.000384"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:39.409589" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:39.409122" elapsed="0.000501"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:39.410056" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:39.409781" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:39.411001" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:39.410272" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.411546" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.411195" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.412061" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.411744" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.412633" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.412291" elapsed="0.000456"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.413325" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.412966" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.413883" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.413548" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.414444" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf3ce0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.414086" elapsed="0.000403"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:39.406983" elapsed="0.007562"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:39.415892" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dcf3d30&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.415548" elapsed="0.000372"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:39.416067" elapsed="0.000307"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.416544" elapsed="0.000489"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:39.417206" elapsed="0.000289"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.417664" elapsed="0.000360"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:39.418496" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf00e0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:39.418179" elapsed="0.000345"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:39.418675" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:39.419494" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.419094" elapsed="0.000464"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:39.420118" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.419706" elapsed="0.000446"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:39.895472" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1197', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-mpls-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:39.895771" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:39.896091" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:39.420307" elapsed="0.475852"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.901630" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:39.896646" elapsed="0.005083"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf3ce0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:39.415168" elapsed="0.486717"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:39.414700" elapsed="0.487307"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-05-25T00:37:39.401194" elapsed="0.500895"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.903276" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:39.902682" elapsed="0.000718"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:39.908424" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:39.908603" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:39.908275" elapsed="0.000361"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:39.909261" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:39.908794" elapsed="0.000500"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:39.909750" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:39.909450" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:39.910213" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:39.909933" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:39.910706" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:39.910416" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:39.911517" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:39.910888" elapsed="0.000668"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.912053" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.911720" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.912588" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.912267" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.913100" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.912784" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.913671" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.913354" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.914181" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.913872" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:39.914717" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:39.914398" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:39.907897" elapsed="0.006920"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:39.916147" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dcf0400&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.915806" elapsed="0.000370"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:39.916345" elapsed="0.000272"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.916788" elapsed="0.000436"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:39.917473" elapsed="0.000268"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.917897" elapsed="0.000368"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:39.918695" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4abf10&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:39.918424" elapsed="0.000305"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:39.918886" elapsed="0.000248"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:39.919667" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.919302" elapsed="0.000429"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:39.920294" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:39.919891" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:40.396792" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '951', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:40.396964" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:40.397219" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:39.920460" elapsed="0.476859"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.402436" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:40.397807" elapsed="0.004730"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf1490&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:39.915428" elapsed="0.487245"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:39.914970" elapsed="0.487825"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-05-25T00:37:39.902386" elapsed="0.500490"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.404022" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:40.403450" elapsed="0.000675"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:40.408711" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:40.408862" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:40.408567" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:40.409503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386f20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:40.409049" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:40.409972" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:40.409688" elapsed="0.000356"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:40.410498" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:40.410202" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:40.410954" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:40.410682" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:40.411745" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:40.411133" elapsed="0.000643"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.412290" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.411936" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.412800" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.412489" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.413318" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.412991" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.413853" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.413548" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.414369" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.414048" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.414874" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e386f20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.414567" elapsed="0.000349"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:40.408193" elapsed="0.006777"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:40.416315" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e385d00&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.415938" elapsed="0.000406"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:40.416495" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.416916" elapsed="0.001602"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:40.418675" elapsed="0.000253"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.419081" elapsed="0.000363"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:40.419866" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4a8cc0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:40.419598" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:40.420040" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:40.420805" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.420451" elapsed="0.000414"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:40.421411" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.421012" elapsed="0.000430"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:40.898089" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '920', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:40.898336" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:40.898632" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:40.421652" elapsed="0.477041"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.903313" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:40.899147" elapsed="0.004234"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e386f20&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:40.415579" elapsed="0.487896"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:40.415124" elapsed="0.488433"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-05-25T00:37:40.403117" elapsed="0.500495"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.904379" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:40.903977" elapsed="0.000470"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:40.909760" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:40.909993" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:40.909545" elapsed="0.000483"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:40.910638" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:40.910188" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:40.911106" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:40.910824" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:40.911576" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:40.911301" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:40.912031" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:40.911757" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:40.912849" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:40.912219" elapsed="0.000662"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.913419" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.913049" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.913930" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.913619" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.914643" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.914126" elapsed="0.000559"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.915149" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.914838" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.915678" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.915369" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:40.916284" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf0400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:40.915945" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:40.908950" elapsed="0.007438"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:40.917772" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dcf0590&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.917395" elapsed="0.000405"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:40.917951" elapsed="0.000270"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.918395" elapsed="0.000242"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:40.918788" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.919185" elapsed="0.000499"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:40.967158" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf11c0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:40.919840" elapsed="0.047363"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:40.967451" elapsed="0.000275"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:40.968297" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.967891" elapsed="0.000470"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:40.968908" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:40.968516" elapsed="0.000425"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:41.399341" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '916', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:41.399533" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:41.399874" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:40.969080" elapsed="0.430841"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.406917" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:41.400452" elapsed="0.006627"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf0400&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:40.917004" elapsed="0.490321"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:40.916546" elapsed="0.490877"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-05-25T00:37:40.903780" elapsed="0.503703"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.408940" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:41.408361" elapsed="0.000811"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:41.414430" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:41.414657" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:41.414266" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:41.415363" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140544ea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:41.414849" elapsed="0.000543"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:41.415850" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:41.415555" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:41.416337" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:41.416034" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:41.416804" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:41.416522" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:41.417873" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:41.416988" elapsed="0.000928"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.418467" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.418096" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.418982" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.418668" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.419518" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.419182" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.420018" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.419715" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.420543" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.420217" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.421053" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d140544ea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.420744" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:41.413747" elapsed="0.007402"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:41.422810" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e40bb50&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.422454" elapsed="0.000384"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:41.422990" elapsed="0.000295"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.423451" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:41.423847" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.424263" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:41.425042" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e40b4c0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:41.424770" elapsed="0.000300"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:41.425320" elapsed="0.000275"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:41.426160" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.425752" elapsed="0.000525"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:41.426844" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.426429" elapsed="0.000446"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:41.900633" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1286', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:41.900863" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:41.901181" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:41.427007" elapsed="0.474275"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.906831" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:41.901831" elapsed="0.005105"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d140544ea0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:41.422071" elapsed="0.485014"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:41.421421" elapsed="0.485793"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-05-25T00:37:41.407830" elapsed="0.499511"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.908532" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:41.907913" elapsed="0.000867"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:41.913972" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:41.914202" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:41.913766" elapsed="0.000499"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:41.915123" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb784a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:41.914489" elapsed="0.000676"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:41.915814" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:41.915410" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:41.916472" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:41.916064" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:41.917188" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:41.916768" elapsed="0.000456"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:41.918532" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:41.917467" elapsed="0.001110"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.919304" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.918806" elapsed="0.000561"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.920021" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.919583" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.921174" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.920396" elapsed="0.000822"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.921750" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.921407" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.922339" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.921984" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:41.922877" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb784a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:41.922545" elapsed="0.000374"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:41.913220" elapsed="0.009754"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:41.924319" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e52db70&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.923945" elapsed="0.000402"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:41.924496" elapsed="0.000328"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.925003" elapsed="0.000266"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:41.925425" elapsed="0.000247"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.925824" elapsed="0.000342"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:41.926608" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4504a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:41.926337" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:41.926785" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:41.927591" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.927177" elapsed="0.000478"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:41.928212" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:41.927803" elapsed="0.000455"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:42.402026" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1284', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:42.402381" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:42.402696" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:41.928393" elapsed="0.474367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.408197" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:42.403227" elapsed="0.005107"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13eb784a0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:41.923591" elapsed="0.484885"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:41.923127" elapsed="0.485465"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-05-25T00:37:41.907607" elapsed="0.501065"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.409838" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:42.409231" elapsed="0.000709"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:42.415295" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:42.415468" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:42.415132" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:42.416154" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7b420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:42.415654" elapsed="0.000531"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:42.416646" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:42.416358" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:42.417100" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:42.416826" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:42.417571" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:42.417296" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:42.418702" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:42.417748" elapsed="0.000986"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.419241" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.418899" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.419763" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.419453" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.420591" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.420187" elapsed="0.000448"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.421117" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.420811" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.421650" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.421333" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.422163" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13eb7b420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.421849" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:42.414767" elapsed="0.007510"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:42.423606" level="INFO">${req} = &lt;Element 'flow' at 0x70d140544630&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.423233" elapsed="0.000401"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:42.423782" elapsed="0.000301"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.424289" elapsed="0.000251"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:42.424745" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.425147" elapsed="0.000368"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:42.425942" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4a9df0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:42.425670" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:42.426118" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:42.426927" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.426534" elapsed="0.000458"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:42.427575" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.427138" elapsed="0.000468"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:42.902844" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1369', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:42.903075" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:42.903401" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:42.427737" elapsed="0.475728"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.908591" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:42.903923" elapsed="0.004732"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13eb7b420&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:42.422874" elapsed="0.485872"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:42.422429" elapsed="0.486394"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-05-25T00:37:42.408920" elapsed="0.499954"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.909617" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:42.909231" elapsed="0.000449"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:42.914083" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:42.914343" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:42.913920" elapsed="0.000453"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:42.915003" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d7c40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:42.914531" elapsed="0.000504"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:42.915503" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:42.915194" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:42.915983" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:42.915685" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:42.916477" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:42.916171" elapsed="0.000334"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:42.917458" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:42.916663" elapsed="0.000828"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.918002" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.917659" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.918550" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.918207" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.919190" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.918752" elapsed="0.000520"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.919761" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.919440" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.920417" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.919984" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:42.921164" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d7c40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:42.920701" elapsed="0.000524"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:42.913525" elapsed="0.007804"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:42.923225" level="INFO">${req} = &lt;Element 'flow' at 0x70d14050cd10&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.922702" elapsed="0.000586"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:42.923497" elapsed="0.000377"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.924112" elapsed="0.000371"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:42.924696" elapsed="0.000361"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.925294" elapsed="0.000478"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:42.926427" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e40b970&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:42.926013" elapsed="0.000454"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:42.926677" elapsed="0.000465"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:42.927894" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.927401" elapsed="0.000631"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:42.928608" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:42.928208" elapsed="0.000431"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:43.404425" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '867', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:43.404664" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:43.405059" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:42.928772" elapsed="0.476351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.409993" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:43.405918" elapsed="0.004157"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d7c40&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:42.922170" elapsed="0.488031"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:42.921543" elapsed="0.488783"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-05-25T00:37:42.909039" elapsed="0.501348"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.411406" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:43.410938" elapsed="0.000537"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:43.416464" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:43.416737" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:43.416291" elapsed="0.000477"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:43.417480" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d6930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:43.416930" elapsed="0.000580"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:43.418006" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:43.417672" elapsed="0.000363"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:43.418495" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:43.418192" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:43.418951" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:43.418678" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:43.420311" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:43.419136" elapsed="0.001207"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.420867" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.420515" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.421391" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.421064" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.421901" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.421587" elapsed="0.000434"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.422548" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.422206" elapsed="0.000486"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.423165" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.422850" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.423694" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d6930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.423383" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:43.415859" elapsed="0.007934"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:43.425144" level="INFO">${req} = &lt;Element 'flow' at 0x70d140545b20&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.424781" elapsed="0.000391"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:43.425337" elapsed="0.000275"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.425767" elapsed="0.000314"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:43.426273" elapsed="0.000284"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.426717" elapsed="0.000355"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:43.427522" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d140544ea0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:43.427228" elapsed="0.000322"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:43.427700" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:43.428584" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.428126" elapsed="0.000541"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:43.429415" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;p...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.428853" elapsed="0.000602"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:43.905585" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1394', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:43.906044" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:43.906512" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:43.429626" elapsed="0.476954"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.911623" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:43.907180" elapsed="0.004511"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d6930&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:43.424418" elapsed="0.487383"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:43.423949" elapsed="0.487941"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-05-25T00:37:43.410636" elapsed="0.501315"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.912808" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:43.912401" elapsed="0.000474"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:43.917955" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:43.918199" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:43.917790" elapsed="0.000438"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:43.918909" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47d620&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:43.918413" elapsed="0.000527"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:43.919409" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:43.919103" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:43.919857" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:43.919588" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:43.920321" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:43.920034" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:43.921557" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:43.920501" elapsed="0.001089"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.922127" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.921763" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.922653" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.922342" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.923161" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.922845" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.923677" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.923372" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.924180" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.923873" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:43.924769" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47d620&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:43.924397" elapsed="0.000418"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:43.917366" elapsed="0.007513"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:43.926299" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d7150&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.925926" elapsed="0.000401"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:43.926479" elapsed="0.000318"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.926974" elapsed="0.000251"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:43.927403" elapsed="0.000376"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.927935" elapsed="0.000453"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:43.928855" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d69d0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:43.928549" elapsed="0.000334"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:43.929035" elapsed="0.000269"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:43.929865" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.929459" elapsed="0.000491"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:43.930531" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:43.930113" elapsed="0.000449"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:44.406347" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '976', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:44.406597" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:44.406975" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:43.930707" elapsed="0.476331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.435259" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:44.407769" elapsed="0.028085"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e47d620&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:43.925537" elapsed="0.510912"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:43.925034" elapsed="0.511495"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-05-25T00:37:43.912169" elapsed="0.524403"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.439630" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:44.438470" elapsed="0.001243"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:44.444462" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:44.445205" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:44.444258" elapsed="0.001048"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:44.446153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2e80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:44.445593" elapsed="0.000593"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:44.447136" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:44.446372" elapsed="0.003806"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:44.451359" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:44.450697" elapsed="0.000692"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:44.451885" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:44.451582" elapsed="0.000331"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:44.453187" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:44.452079" elapsed="0.001141"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.453791" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.453412" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.454329" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.453994" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.454848" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.454529" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.455373" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.455046" elapsed="0.000429"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.455956" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.455639" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.456489" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2e80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.456157" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:44.443667" elapsed="0.012933"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:44.458062" level="INFO">${req} = &lt;Element 'flow' at 0x70d140545b20&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.457709" elapsed="0.000382"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:44.458260" elapsed="0.000279"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.458696" elapsed="0.000241"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:44.459092" elapsed="0.000270"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.459537" elapsed="0.000370"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:44.460360" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d1405477e0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:44.460065" elapsed="0.000323"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:44.460540" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:44.461344" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.460944" elapsed="0.000465"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:44.461954" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.461559" elapsed="0.000426"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:44.912644" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1051', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;ip-match&gt;
                            &lt;ip-dscp&gt;1&lt;/ip-dscp&gt;
                        &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:44.912875" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:44.913276" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:44.462222" elapsed="0.451125"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.919990" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:44.913999" elapsed="0.006101"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf2e80&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:44.457310" elapsed="0.462969"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:44.456758" elapsed="0.463648"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-05-25T00:37:44.437238" elapsed="0.483251"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.921833" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:44.921124" elapsed="0.000811"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:44.925744" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:44.925996" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:44.925541" elapsed="0.000484"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:44.926703" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf3e70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:44.926185" elapsed="0.000549"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:44.927183" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:44.926894" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:44.927698" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:44.927409" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:44.928154" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:44.927880" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:44.929317" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:44.928349" elapsed="0.000999"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.929898" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.929516" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.930429" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.930096" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.930937" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.930624" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.931446" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.931127" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.932035" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.931641" elapsed="0.000445"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:44.932588" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf3e70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:44.932255" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:44.925137" elapsed="0.007560"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:44.934192" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d5d00&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.933848" elapsed="0.000371"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:44.934384" elapsed="0.000269"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.934808" elapsed="0.000238"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:44.935197" elapsed="0.000264"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.935612" elapsed="0.000344"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:44.936397" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d7b50&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:44.936108" elapsed="0.000316"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:44.936575" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:44.937362" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.936969" elapsed="0.000456"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:44.938026" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;acti...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:44.937572" elapsed="0.000486"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:45.414616" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1074', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-queue-action&gt;
                        &lt;queue-id&gt;1&lt;/queue-id&gt;
                    &lt;/set-queue-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:45.414831" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:45.415176" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:44.938193" elapsed="0.477080"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.420897" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:45.415848" elapsed="0.005150"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf3e70&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:44.933453" elapsed="0.487664"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:44.932904" elapsed="0.488458"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-05-25T00:37:44.920767" elapsed="0.500664"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.422209" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:45.421831" elapsed="0.000470"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:45.427718" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:45.428032" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:45.427493" elapsed="0.000586"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:45.429009" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301f30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:45.428341" elapsed="0.000711"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:45.429557" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:45.429234" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:45.430014" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:45.429741" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:45.430489" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:45.430194" elapsed="0.000321"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:45.431702" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:45.430670" elapsed="0.001064"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.432339" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.431905" elapsed="0.000480"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.432882" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.432555" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.433468" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.433089" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.434047" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.433681" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.434615" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.434291" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.435133" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301f30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.434818" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:45.426909" elapsed="0.008329"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:45.436714" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dcf2160&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.436356" elapsed="0.000386"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:45.436890" elapsed="0.000271"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.437336" elapsed="0.000273"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:45.437772" elapsed="0.000253"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.438178" elapsed="0.000369"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:45.438973" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d14050fb50&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:45.438702" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:45.439215" elapsed="0.000280"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:45.460833" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.439648" elapsed="0.039702"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:45.490910" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.487115" elapsed="0.003866"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:45.916090" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1131', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;dec-nw-ttl /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:45.916328" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:45.916647" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:45.491262" elapsed="0.425449"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.922004" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:45.917213" elapsed="0.005004"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e301f30&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:45.435871" elapsed="0.486558"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:45.435413" elapsed="0.487673"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-05-25T00:37:45.421630" elapsed="0.501530"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.923749" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:45.923478" elapsed="0.000317"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:45.927440" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:45.927666" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:45.927284" elapsed="0.000412"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:45.928334" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303a10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:45.927852" elapsed="0.000512"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:45.928807" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:45.928523" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:45.929318" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:45.928997" elapsed="0.000348"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:45.929870" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:45.929587" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:45.932500" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:45.930050" elapsed="0.002495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.933274" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.932819" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.933800" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.933480" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.934394" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.934026" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.934899" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.934596" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.935431" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.935106" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:45.935959" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303a10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:45.935644" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:45.926886" elapsed="0.009183"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:45.937504" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d4900&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.937137" elapsed="0.000395"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:45.937681" elapsed="0.000274"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.938114" elapsed="0.000321"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:45.938591" elapsed="0.000265"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.939008" elapsed="0.000382"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:45.939814" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d4950&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:45.939545" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:45.939988" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:45.940776" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.940404" elapsed="0.000433"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:45.941387" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;acti...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:45.940984" elapsed="0.000434"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:46.417098" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '922', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action /&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:46.417502" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:46.417862" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:45.941562" elapsed="0.476372"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.423432" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:46.418511" elapsed="0.005024"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e303a10&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:45.936742" elapsed="0.486932"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:45.936227" elapsed="0.487571"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-05-25T00:37:45.923321" elapsed="0.500560"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.425073" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:46.424512" elapsed="0.000614"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:46.428743" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:46.428960" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:46.428582" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:46.429667" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300040&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:46.429152" elapsed="0.000545"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:46.430138" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:46.429853" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:46.430605" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:46.430335" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:46.431072" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:46.430783" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:46.432380" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:46.431269" elapsed="0.001143"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.432921" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.432576" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.433443" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.433117" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.433949" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.433635" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.434474" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.434149" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.434976" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.434670" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.435505" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300040&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.435177" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:46.428187" elapsed="0.007414"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:46.447077" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e303e70&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.445499" elapsed="0.001626"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:46.447831" elapsed="0.000517"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.448516" elapsed="0.000247"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:46.449518" elapsed="0.000257"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.449931" elapsed="0.001298"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:46.451699" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d49a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:46.451410" elapsed="0.000319"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:46.451895" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:46.453784" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.452355" elapsed="0.001509"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:46.454494" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.454031" elapsed="0.000496"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:46.918556" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1454', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:46.918771" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:46.919148" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:46.454674" elapsed="0.464539"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.925022" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:46.919751" elapsed="0.005379"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e300040&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:46.437596" elapsed="0.487719"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:46.435755" elapsed="0.489685"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-05-25T00:37:46.424139" elapsed="0.501385"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.926822" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:46.926192" elapsed="0.000731"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:46.930851" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:46.931081" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:46.930573" elapsed="0.000538"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:46.931816" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:46.931298" elapsed="0.000548"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:46.932397" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:46.932003" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:46.932922" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:46.932618" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:46.933402" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:46.933105" elapsed="0.000323"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:46.936979" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:46.933582" elapsed="0.003432"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.937594" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.937198" elapsed="0.000440"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.938099" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.937792" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.938641" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.938328" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.939129" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.938830" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.939654" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.939346" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:46.940163" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d4b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:46.939849" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:46.930143" elapsed="0.010143"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:46.941759" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e3009f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.941376" elapsed="0.000411"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:46.941935" elapsed="0.000343"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.942435" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:46.942828" elapsed="0.000247"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.943232" elapsed="0.000390"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:46.944045" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e300040&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:46.943777" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:46.944219" elapsed="0.000277"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:46.945084" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.944648" elapsed="0.000634"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:46.945855" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:46.945432" elapsed="0.000453"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:47.420558" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1582', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;IN_PORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:47.420774" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:47.421112" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:46.946024" elapsed="0.475166"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.426752" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:47.421741" elapsed="0.005112"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e1d4b30&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:46.940958" elapsed="0.486068"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:46.940445" elapsed="0.486710"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-05-25T00:37:46.925787" elapsed="0.501483"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.428323" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:47.427851" elapsed="0.000519"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:47.432032" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:47.432282" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:47.431851" elapsed="0.000461"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:47.432964" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3019e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:47.432474" elapsed="0.000521"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:47.433458" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:47.433153" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:47.433910" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:47.433638" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:47.434377" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:47.434087" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:47.435635" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:47.434557" elapsed="0.001109"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.436252" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.435836" elapsed="0.000462"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.436858" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.436542" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.437401" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.437055" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.437902" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.437598" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.438429" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.438100" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.438938" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3019e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.438628" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:47.431469" elapsed="0.007569"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:47.440487" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e300770&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.440087" elapsed="0.000428"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:47.440662" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.441083" elapsed="0.000255"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:47.441489" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.441884" elapsed="0.000369"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:47.442678" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e3018a0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:47.442409" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:47.442853" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:47.443682" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.443263" elapsed="0.000488"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:47.444384" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.443899" elapsed="0.000517"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:47.925508" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1576', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;1&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:47.925924" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:47.926279" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:47.444554" elapsed="0.481836"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.931723" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:47.926897" elapsed="0.004929"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e3019e0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:47.439665" elapsed="0.492305"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:47.439190" elapsed="0.492898"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-05-25T00:37:47.427531" elapsed="0.504636"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.933357" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:47.932764" elapsed="0.000693"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:47.937444" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:47.937702" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:47.937286" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:47.938403" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2160&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:47.937894" elapsed="0.000539"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:47.938877" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:47.938591" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:47.939349" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:47.939058" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:47.939799" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:47.939528" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:47.941011" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:47.939978" elapsed="0.001064"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.941571" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.941209" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.943485" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.942681" elapsed="0.000877"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.944079" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.943745" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.944616" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.944297" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.945142" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.944819" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:47.945709" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2160&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:47.945364" elapsed="0.000388"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:47.936892" elapsed="0.008944"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:47.947663" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e300f40&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.947112" elapsed="0.000580"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:47.947850" elapsed="0.000299"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.948325" elapsed="0.000251"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:47.948879" elapsed="0.000261"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.949316" elapsed="0.000433"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:47.950191" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e300180&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:47.949913" elapsed="0.000306"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:47.950386" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:47.951291" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.950792" elapsed="0.000574"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:47.951950" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:47.951519" elapsed="0.000462"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:48.426533" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1454', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;LOCAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:48.426759" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:48.427116" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:47.952130" elapsed="0.475050"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.432717" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:48.427826" elapsed="0.004991"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf2160&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:47.946626" elapsed="0.486336"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:47.946011" elapsed="0.487081"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-05-25T00:37:47.932453" elapsed="0.500721"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.434376" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:48.433774" elapsed="0.000704"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:48.439122" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:48.439328" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:48.438897" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:48.440002" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf09a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:48.439522" elapsed="0.000510"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:48.440497" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:48.440187" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:48.440951" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:48.440679" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:48.441422" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:48.441132" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:48.442649" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:48.441834" elapsed="0.000846"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.443189" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.442845" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.443750" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.443436" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.444279" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.443946" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.444777" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.444472" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.445302" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.444974" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.445813" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf09a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.445504" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:48.438514" elapsed="0.007396"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:48.447254" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e301b20&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.446884" elapsed="0.000399"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:48.447455" elapsed="0.000270"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.447879" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:48.448285" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.448681" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:48.449459" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e302ed0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:48.449171" elapsed="0.000315"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:48.449634" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:48.450455" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.450027" elapsed="0.000529"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:48.451120" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.450704" elapsed="0.000447"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:48.927617" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1460', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:48.927834" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:48.928165" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:48.451298" elapsed="0.476929"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.934113" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:48.928832" elapsed="0.005380"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf09a0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:48.446527" elapsed="0.487862"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:48.446064" elapsed="0.488446"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-05-25T00:37:48.433475" elapsed="0.501115"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.935761" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:48.935163" elapsed="0.000697"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:48.940263" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:48.940461" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:48.940092" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:48.941161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47de40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:48.940651" elapsed="0.000540"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:48.941658" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:48.941368" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:48.942109" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:48.941839" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:48.942581" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:48.942308" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:48.943590" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:48.942762" elapsed="0.000859"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.944169" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.943792" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.944700" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.944389" elapsed="0.000446"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.945323" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.944993" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.945821" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.945518" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.946347" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.946018" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:48.946856" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47de40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:48.946545" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:48.939702" elapsed="0.007253"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:48.948335" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e47ce00&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.947957" elapsed="0.000407"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:48.948514" elapsed="0.000271"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.948959" elapsed="0.000240"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:48.949374" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.949774" elapsed="0.000511"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:48.950715" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e301da0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:48.950443" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:48.950891" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:48.951719" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.951308" elapsed="0.000479"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:48.952371" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:48.951937" elapsed="0.000465"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:49.428657" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1465', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;FLOOD&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:49.429013" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:49.429337" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:48.952534" elapsed="0.476867"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.434846" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:49.429911" elapsed="0.005034"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e47de40&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:48.947595" elapsed="0.487497"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:48.947112" elapsed="0.488103"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-05-25T00:37:48.934854" elapsed="0.500476"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.436477" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:49.435892" elapsed="0.000683"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:49.441678" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:49.441856" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:49.441524" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:49.442570" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d54e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:49.442044" elapsed="0.000557"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:49.443047" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:49.442758" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:49.443518" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:49.443227" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:49.443966" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:49.443696" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:49.445048" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:49.444145" elapsed="0.000934"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.445609" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.445263" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.446113" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.445806" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.446673" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.446353" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.447170" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.446868" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.447699" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.447391" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.448201" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d54e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.447896" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:49.441119" elapsed="0.007196"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:49.449875" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d6750&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.449307" elapsed="0.000596"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:49.450054" elapsed="0.000315"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.450525" elapsed="0.000238"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:49.450953" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.451373" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:49.452147" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d6390&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:49.451877" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:49.452342" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:49.453159" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.452739" elapsed="0.000488"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:49.453829" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.453398" elapsed="0.000461"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:49.929629" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1623', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;ALL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:49.929844" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:49.930131" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:49.453990" elapsed="0.476202"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.935680" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:49.930737" elapsed="0.005043"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d54e0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:49.448928" elapsed="0.486999"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:49.448469" elapsed="0.487580"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-05-25T00:37:49.435600" elapsed="0.500530"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.937430" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:49.936830" elapsed="0.000701"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:49.942655" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:49.942836" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:49.942497" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:49.943535" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d62f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:49.943024" elapsed="0.000540"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:49.944040" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:49.943749" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:49.944512" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:49.944221" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:49.944966" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:49.944695" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:49.946014" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:49.945145" elapsed="0.000900"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.946569" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.946210" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.947072" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.946764" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.947592" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.947281" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.948120" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.947819" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.948640" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.948332" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:49.949141" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d62f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:49.948836" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:49.942102" elapsed="0.007149"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:49.950819" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d6f20&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.950452" elapsed="0.000395"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:49.950995" elapsed="0.000288"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.951438" elapsed="0.000257"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:49.951847" elapsed="0.000243"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.952257" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:49.953026" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7240&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:49.952759" elapsed="0.000294"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:49.953200" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:49.954031" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.953613" elapsed="0.000533"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:49.954740" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:49.954310" elapsed="0.000461"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:50.430432" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1630', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;CONTROLLER&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:50.430604" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:50.430838" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:49.954901" elapsed="0.475977"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.435195" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:50.431325" elapsed="0.004013"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e1d62f0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:49.950074" elapsed="0.485421"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:49.949409" elapsed="0.486220"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-05-25T00:37:49.936532" elapsed="0.499188"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.436999" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:50.436347" elapsed="0.000762"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:50.443823" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:50.444039" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:50.443621" elapsed="0.000460"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:50.444975" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:50.444318" elapsed="0.000698"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:50.445657" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:50.445231" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:50.446300" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:50.445904" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:50.446926" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:50.446546" elapsed="0.000416"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:50.448579" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:50.447173" elapsed="0.001451"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.449376" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.448854" elapsed="0.000567"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.449983" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.449663" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.450521" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.450179" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.451026" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.450717" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.451554" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.451224" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.452080" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.451754" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:50.443097" elapsed="0.009082"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:50.453542" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d7f60&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.453161" elapsed="0.000409"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:50.453719" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.454140" elapsed="0.000263"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:50.454558" elapsed="0.000246"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.454955" elapsed="0.000356"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:50.455740" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d62f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:50.455468" elapsed="0.000300"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:50.455919" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:50.456737" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.456330" elapsed="0.000475"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:50.457434" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.456953" elapsed="0.000513"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:50.931932" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1626', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;NORMAL&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:50.932293" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:50.932613" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:50.457598" elapsed="0.475079"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.937923" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:50.933183" elapsed="0.004842"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d3600&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:50.452787" elapsed="0.485399"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:50.452348" elapsed="0.485994"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-05-25T00:37:50.435992" elapsed="0.502438"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.939672" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:50.939013" elapsed="0.000763"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:50.945322" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:50.945523" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:50.945156" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:50.946184" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5df0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:50.945712" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:50.946675" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:50.946388" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:50.947127" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:50.946856" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:50.947597" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:50.947324" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:50.948714" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:50.947778" elapsed="0.000967"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.949267" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.948911" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.949776" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.949466" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.950329" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.949970" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.950832" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.950527" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.951354" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.951028" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:50.951867" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5df0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:50.951555" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:50.944788" elapsed="0.007177"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:50.953297" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d7b00&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.952934" elapsed="0.000391"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:50.953473" elapsed="0.000264"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.953889" elapsed="0.000236"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:50.954314" elapsed="0.000289"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.954756" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:50.955533" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf35b0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:50.955260" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:50.955711" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:50.956507" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.956108" elapsed="0.000466"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:50.957127" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:50.956720" elapsed="0.000439"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:51.433333" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1336', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-vlan-action&gt;
                        &lt;ethernet-type&gt;33024&lt;/ethernet-type&gt;
                        &lt;vlan-id&gt;1234&lt;/vlan-id&gt;
                    &lt;/push-vlan-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:51.433536" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:51.433849" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:50.957307" elapsed="0.476602"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.439183" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:51.434433" elapsed="0.004915"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e1d5df0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:50.952576" elapsed="0.486958"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:50.952119" elapsed="0.487576"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-05-25T00:37:50.938712" elapsed="0.501077"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.441022" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:51.440436" elapsed="0.000713"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:51.446541" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:51.446730" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:51.446388" elapsed="0.000440"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:51.447522" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d68e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:51.446987" elapsed="0.000566"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:51.448004" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:51.447714" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:51.448481" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:51.448185" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:51.448936" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:51.448663" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:51.450122" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:51.449115" elapsed="0.001038"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.450677" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.450336" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.451185" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.450874" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.452428" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.452088" elapsed="0.000553"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.453099" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.452794" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.453628" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.453313" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.454133" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d68e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.453825" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:51.445999" elapsed="0.008234"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:51.455756" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d6f20&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.455393" elapsed="0.000391"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:51.455931" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.456397" elapsed="0.000244"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:51.456794" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.457187" elapsed="0.000362"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:51.457970" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d5670&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:51.457702" elapsed="0.000294"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:51.458144" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:51.458958" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.458553" elapsed="0.000512"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:51.459688" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.459212" elapsed="0.000507"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:51.934699" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1571', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;push-mpls-action&gt;
                        &lt;ethernet-type&gt;34888&lt;/ethernet-type&gt;
                    &lt;/push-mpls-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:51.934862" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:51.935101" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:51.459849" elapsed="0.475294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.938815" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:51.935549" elapsed="0.003336"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e1d68e0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:51.455000" elapsed="0.483987"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:51.454409" elapsed="0.484663"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-05-25T00:37:51.440044" elapsed="0.499086"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.939929" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:51.939546" elapsed="0.000450"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:51.945460" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:51.945750" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:51.945202" elapsed="0.000592"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:51.946725" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:51.946040" elapsed="0.000729"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:51.947445" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:51.946999" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:51.948111" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:51.947710" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:51.948878" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:51.948402" elapsed="0.000515"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:51.950264" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:51.949141" elapsed="0.001156"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.950816" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.950466" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.951406" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.951076" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.951915" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.951602" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.952429" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.952106" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.952956" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.952648" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:51.953488" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:51.953155" elapsed="0.000375"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:51.944644" elapsed="0.008944"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:51.954936" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e1d6ac0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.954585" elapsed="0.000379"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:51.955110" elapsed="0.000285"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.955547" elapsed="0.000238"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:51.955934" elapsed="0.000244"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.956343" elapsed="0.000382"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:51.957147" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e1d7a60&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:51.956878" elapsed="0.000296"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:51.957338" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:51.958133" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.957736" elapsed="0.000463"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:51.958776" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:51.958361" elapsed="0.000447"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:52.436137" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1356', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-source-port&gt;2059&lt;/tcp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:52.436485" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:52.436793" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:51.958939" elapsed="0.477918"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.442111" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:52.437383" elapsed="0.004828"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e355580&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:51.954201" elapsed="0.488184"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:51.953742" elapsed="0.488766"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-05-25T00:37:51.939331" elapsed="0.503258"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.443725" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:52.443134" elapsed="0.000692"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:52.448818" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:52.448991" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:52.448667" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:52.449675" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9ee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:52.449179" elapsed="0.000527"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:52.450151" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:52.449863" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:52.450624" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:52.450349" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:52.451084" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:52.450806" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:52.453736" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:52.451280" elapsed="0.002488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.454293" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.453935" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.454804" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.454492" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.455329" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.454997" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.455833" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.455526" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.456353" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.456029" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.456869" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c9ee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.456553" elapsed="0.000359"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:52.448298" elapsed="0.008669"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:52.458506" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e3553f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.458137" elapsed="0.000397"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:52.458682" elapsed="0.000267"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.459103" elapsed="0.000256"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:52.459510" elapsed="0.000295"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.459958" elapsed="0.000355"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:52.460738" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e355d50&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:52.460468" elapsed="0.000298"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:52.460915" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:52.461737" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.461327" elapsed="0.000478"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:52.462377" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.461952" elapsed="0.000459"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:52.936946" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1366', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tcp-destination-port&gt;1234&lt;/tcp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:52.937152" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:52.937500" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:52.462543" elapsed="0.475020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.942907" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:52.938069" elapsed="0.004941"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e0c9ee0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:52.457780" elapsed="0.485373"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:52.457117" elapsed="0.486191"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-05-25T00:37:52.442840" elapsed="0.500552"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.944561" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:52.943950" elapsed="0.000713"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:52.949943" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:52.950193" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:52.949790" elapsed="0.000433"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:52.950911" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3556c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:52.950399" elapsed="0.000543"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:52.951407" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:52.951099" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:52.951855" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:52.951586" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:52.952320" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:52.952033" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:52.953539" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:52.952499" elapsed="0.001071"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.954080" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.953737" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.954854" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.954293" elapsed="0.000605"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.955385" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.955052" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.955883" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.955578" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.956406" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.956082" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:52.956913" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3556c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:52.956603" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:52.949415" elapsed="0.007594"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:52.958338" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e356520&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.957973" elapsed="0.000393"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:52.958514" elapsed="0.000300"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.958967" elapsed="0.000238"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:52.959377" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.959772" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:52.960557" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e355260&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:52.960287" elapsed="0.000297"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:52.960733" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:52.961533" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.961127" elapsed="0.000505"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:52.962190" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:52.961780" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:53.439005" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1357', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-source-port&gt;2059&lt;/udp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:53.439219" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:53.439644" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:52.962369" elapsed="0.477341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.445041" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:53.440224" elapsed="0.004918"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e3556c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:52.957620" elapsed="0.487693"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:52.957162" elapsed="0.488277"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-05-25T00:37:52.943653" elapsed="0.501871"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.446674" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:53.446074" elapsed="0.000701"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:53.451233" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:53.451424" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:53.451084" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:53.452088" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:53.451632" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:53.452584" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:53.452293" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:53.453038" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:53.452765" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:53.453507" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:53.453218" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:53.454651" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:53.453687" elapsed="0.000995"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.455190" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.454849" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.455758" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.455405" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.456348" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.456014" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.456851" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.456545" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.457383" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.457057" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.457895" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d7510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.457583" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:53.450719" elapsed="0.007275"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:53.459329" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e355080&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.458959" elapsed="0.000398"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:53.459724" elapsed="0.000271"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.460150" elapsed="0.000257"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:53.460560" elapsed="0.000245"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.460956" elapsed="0.000361"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:53.461743" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e356de0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:53.461472" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:53.461920" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:53.462721" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.462331" elapsed="0.000457"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:53.463364" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.462934" elapsed="0.000461"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:53.940201" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1367', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;udp-destination-port&gt;1234&lt;/udp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:53.940651" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:53.940990" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:53.463571" elapsed="0.477484"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.946613" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:53.941643" elapsed="0.005075"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e1d7510&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:53.458602" elapsed="0.488263"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:53.458146" elapsed="0.488889"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-05-25T00:37:53.445777" elapsed="0.501353"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.948438" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:53.947728" elapsed="0.000826"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:53.952769" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:53.952950" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:53.952605" elapsed="0.000375"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:53.953654" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:53.953139" elapsed="0.000551"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:53.954145" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:53.953849" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:53.954635" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:53.954348" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:53.955210" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:53.954870" elapsed="0.000388"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:53.956868" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:53.955446" elapsed="0.001454"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.957435" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.957068" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.957947" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.957638" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.958470" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.958140" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.958962" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.958663" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.959481" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.959156" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:53.959982" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:53.959677" elapsed="0.000347"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:53.952159" elapsed="0.007919"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:53.961491" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e355580&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.961105" elapsed="0.000414"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:53.961669" elapsed="0.000272"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.962093" elapsed="0.000295"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:53.962545" elapsed="0.000316"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.963018" elapsed="0.000370"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:53.963816" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e357560&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:53.963544" elapsed="0.000299"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:53.963992" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:53.964916" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.964471" elapsed="0.000515"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:53.965589" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:53.965138" elapsed="0.000483"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:54.441923" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1563', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-source-port&gt;1111&lt;/sctp-source-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:54.442141" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:54.442513" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:53.965755" elapsed="0.476823"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.448736" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:54.443376" elapsed="0.005462"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d0360&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:53.960739" elapsed="0.488240"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:53.960230" elapsed="0.488870"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-05-25T00:37:53.947425" elapsed="0.501756"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.449908" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:54.449643" elapsed="0.000310"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:54.453617" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:54.453804" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:54.453463" elapsed="0.000370"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:54.454522" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404fb1a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:54.453994" elapsed="0.000559"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:54.455019" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:54.454718" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:54.455517" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:54.455206" elapsed="0.000346"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:54.456006" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:54.455720" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:54.457041" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:54.456188" elapsed="0.000886"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.457839" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.457306" elapsed="0.000576"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.458364" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.458038" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.458874" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.458561" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.459385" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.459067" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.459894" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.459586" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.460415" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404fb1a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.460091" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:54.453054" elapsed="0.007459"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:54.461922" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e4d4720&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.461545" elapsed="0.000406"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:54.462100" elapsed="0.000296"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.462560" elapsed="0.000246"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:54.462962" elapsed="0.000248"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.463392" elapsed="0.000518"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:54.464397" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13ebdaf20&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:54.464072" elapsed="0.000354"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:54.464583" elapsed="0.000253"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:54.465498" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.464990" elapsed="0.000676"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:54.466286" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
    ...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.465823" elapsed="0.000497"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:54.942890" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1571', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;sctp-destination-port&gt;1111&lt;/sctp-destination-port&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:54.943099" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:54.943408" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:54.466460" elapsed="0.477010"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.948730" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:54.943970" elapsed="0.004859"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d1404fb1a0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:54.461121" elapsed="0.487849"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:54.460668" elapsed="0.488433"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-05-25T00:37:54.449489" elapsed="0.499698"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.950399" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:54.949764" elapsed="0.000719"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:54.954041" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:54.954253" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:54.953882" elapsed="0.000403"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:54.954909" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4810&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:54.954443" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:54.955398" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:54.955095" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:54.955852" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:54.955579" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:54.956317" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:54.956031" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:54.957286" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:54.956497" elapsed="0.000822"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.957825" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.957486" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.958461" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.958119" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.958979" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.958660" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.959510" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.959183" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.960021" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.959710" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:54.960552" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4810&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:54.960219" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:54.953513" elapsed="0.007137"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:54.961988" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e47c2c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.961629" elapsed="0.000387"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:54.962388" elapsed="0.000276"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.962820" elapsed="0.000239"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:54.963209" elapsed="0.000259"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.963618" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:54.964402" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e4d4a90&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:54.964117" elapsed="0.000313"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:54.964578" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:54.965385" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.964971" elapsed="0.000482"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:54.966017" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/tab...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:54.965599" elapsed="0.000449"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:55.443956" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1451', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
                        &lt;tunnel&gt;
                            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
                        &lt;/tunnel&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:55.444282" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:55.444501" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:54.966363" elapsed="0.478178"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.448032" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:55.444907" elapsed="0.003190"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e4d4810&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:54.961266" elapsed="0.486930"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:54.960802" elapsed="0.487495"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-05-25T00:37:54.949466" elapsed="0.498887"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.449067" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:55.448712" elapsed="0.000418"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:55.454091" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:55.454352" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:55.453884" elapsed="0.000512"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:55.455300" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf10d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:55.454614" elapsed="0.000728"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:55.455859" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:55.455552" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:55.456334" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:55.456042" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:55.456794" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:55.456522" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:55.457729" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:55.456972" elapsed="0.000789"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.458297" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.457933" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.458809" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.458500" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.459370" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.459029" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.459974" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.459626" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.460583" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.460204" elapsed="0.000437"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.461175" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf10d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.460835" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:55.453378" elapsed="0.007932"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:55.463004" level="INFO">${req} = &lt;Element 'flow' at 0x70d1404db880&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.462341" elapsed="0.000697"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:55.463197" elapsed="0.000307"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.463663" elapsed="0.000245"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:55.464060" elapsed="0.000329"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.464544" elapsed="0.000350"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:55.465379" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e355a80&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:55.465050" elapsed="0.000357"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:55.465564" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:55.466415" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.465968" elapsed="0.000528"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:55.467120" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.466675" elapsed="0.000478"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:55.945821" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1157', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;set-field&gt;
		    &lt;ip-match&gt;
        		&lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
		    &lt;/ip-match&gt;
                    &lt;/set-field&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:55.946018" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:55.946325" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:55.467306" elapsed="0.479080"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.951924" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:55.946886" elapsed="0.005153"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf10d0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:55.461947" elapsed="0.490244"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:55.461473" elapsed="0.490875"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-05-25T00:37:55.448524" elapsed="0.503909"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.953663" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:55.953042" elapsed="0.000720"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:55.958997" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:55.959195" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:55.958836" elapsed="0.000389"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:55.959975" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:55.959495" elapsed="0.000511"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:55.960481" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:55.960168" elapsed="0.000340"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:55.960939" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:55.960663" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:55.961412" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:55.961120" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:55.962248" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:55.961598" elapsed="0.000683"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.962797" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.962451" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.963322" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.962995" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.963866" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.963517" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.964378" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.964061" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.964884" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.964579" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:55.965403" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:55.965081" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:55.958422" elapsed="0.007083"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:55.967068" level="INFO">${req} = &lt;Element 'flow' at 0x70d13dcf2b60&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.966503" elapsed="0.000594"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:55.967265" elapsed="0.000283"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.967721" elapsed="0.000242"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:55.968116" elapsed="0.000282"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.968552" elapsed="0.000370"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:55.969417" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13dcf3ab0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:55.969103" elapsed="0.000343"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:55.969601" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:55.970450" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.970040" elapsed="0.000472"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:55.971070" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:55.970661" elapsed="0.000513"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:56.447207" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '841', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:56.447470" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:56.447755" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:55.971365" elapsed="0.476452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.453382" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:56.448416" elapsed="0.005071"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13dcf1300&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:55.966122" elapsed="0.487511"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:55.965660" elapsed="0.488097"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-05-25T00:37:55.952700" elapsed="0.501143"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.455080" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:56.454495" elapsed="0.000687"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:56.460170" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:56.460370" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:56.460014" elapsed="0.000414"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:56.461160" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3034c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:56.460591" elapsed="0.000604"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:56.461677" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:56.461378" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:56.462137" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:56.461861" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:56.462618" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:56.462336" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:56.463526" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:56.462798" elapsed="0.000759"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.464068" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.463724" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.464646" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.464283" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.465163" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.464846" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.465736" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.465380" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.466289" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.465955" elapsed="0.000461"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.466960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3034c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.466597" elapsed="0.000407"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:56.459639" elapsed="0.007422"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:56.468667" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e303bf0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.468253" elapsed="0.000443"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:56.468846" elapsed="0.000270"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.469291" elapsed="0.000249"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:56.469710" elapsed="0.000250"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.470113" elapsed="0.000363"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:56.470906" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e3022f0&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:56.470633" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:56.471085" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:56.471885" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.471503" elapsed="0.000447"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:56.472605" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/o...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.472099" elapsed="0.000539"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:56.948938" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '1142', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;
                        &lt;output-node-connector&gt;INPORT&lt;/output-node-connector&gt;
                        &lt;max-length&gt;60&lt;/max-length&gt;
                    &lt;/output-action&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:56.949225" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:56.949638" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:56.472774" elapsed="0.476935"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.955807" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:56.950389" elapsed="0.005528"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e3034c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:56.467681" elapsed="0.488392"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:56.467216" elapsed="0.489183"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-05-25T00:37:56.454121" elapsed="0.502372"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.957804" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:56.957201" elapsed="0.000673"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:37:56.963407" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:37:56.963653" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:37:56.963161" elapsed="0.000535"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:37:56.964597" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb9c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:37:56.963933" elapsed="0.000708"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:56.965384" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:56.964873" elapsed="0.000552"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:56.965901" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:56.965623" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:37:56.966402" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:37:56.966081" elapsed="0.000348"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:37:56.967267" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:37:56.966586" elapsed="0.000713"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.967813" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.967468" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.968335" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.968010" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.969015" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.968531" elapsed="0.000525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.969607" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.969264" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.970125" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.969804" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:37:56.970658" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb9c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:37:56.970349" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:37:56.962603" elapsed="0.008154"/>
</kw>
<kw name="Run Keyword And Continue On Failure" owner="BuiltIn">
<kw name="Delete Flow Via RPC" owner="FlowLib">
<kw name="Copy Element" owner="XML">
<msg time="2026-05-25T00:37:56.972343" level="INFO">${req} = &lt;Element 'flow' at 0x70d13e0cbc40&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.971986" elapsed="0.000385"/>
</kw>
<kw name="Remove Element" owner="XML">
<arg>${req}</arg>
<arg>id</arg>
<arg>clear_tail=True</arg>
<doc>Removes the element matching ``xpath`` from the ``source`` structure.</doc>
<status status="PASS" start="2026-05-25T00:37:56.972523" elapsed="0.000275"/>
</kw>
<kw name="Set Element Tag" owner="XML">
<arg>${req}</arg>
<arg>input</arg>
<doc>Sets the tag of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.972952" elapsed="0.000272"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${req}</arg>
<arg>xmlns</arg>
<arg>urn:opendaylight:flow:service</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:56.973394" elapsed="0.000249"/>
</kw>
<kw name="Add Element" owner="XML">
<arg>${req}</arg>
<arg>&lt;node&gt;/inv:nodes/inv:node[inv:id="openflow:${node_id}"]&lt;/node&gt;</arg>
<doc>Adds a child element to the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.973796" elapsed="0.000343"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-05-25T00:37:56.974585" level="INFO">${nodeelm} = &lt;Element 'node' at 0x70d13e0cb290&gt;</msg>
<var>${nodeelm}</var>
<arg>${req}</arg>
<arg>node</arg>
<doc>Returns an element in the ``source`` matching the ``xpath``.</doc>
<status status="PASS" start="2026-05-25T00:37:56.974312" elapsed="0.000301"/>
</kw>
<kw name="Set Element Attribute" owner="XML">
<arg>${nodeelm}</arg>
<arg>xmlns:inv</arg>
<arg>urn:opendaylight:inventory</arg>
<doc>Sets attribute ``name`` of the specified element to ``value``.</doc>
<status status="PASS" start="2026-05-25T00:37:56.974763" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-05-25T00:37:56.975621" level="INFO">&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt;</msg>
<arg>${req}</arg>
<doc>Logs the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.975215" elapsed="0.000469"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-05-25T00:37:56.976297" level="INFO">${strxml} = &lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;met...</msg>
<var>${strxml}</var>
<arg>${req}</arg>
<doc>Returns the string representation of the specified element.</doc>
<status status="PASS" start="2026-05-25T00:37:56.975886" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:37:57.451205" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 path_url=/rests/operations/sal-flow:remove-flow 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Content-Length': '978', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=&lt;input xmlns="urn:opendaylight:flow:service"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;node xmlns:inv="urn:opendaylight:inventory"&gt;/inv:nodes/inv:node[inv:id="openflow:1"]&lt;/node&gt;&lt;/input&gt; 
 </msg>
<msg time="2026-05-25T00:37:57.451457" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-05-25T00:37:57.451752" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=/rests/operations/sal-flow:remove-flow</arg>
<arg>data=${strxml}</arg>
<arg>expected_status=204</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:37:56.976462" elapsed="0.475352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:37:57.457113" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:37:57.452375" elapsed="0.004839"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x70d13e0cb9c0&gt; is usually a variable created by
Create Flow Variables For Suite From XML File keyword from this library.</doc>
<status status="PASS" start="2026-05-25T00:37:56.971388" elapsed="0.486007"/>
</kw>
<arg>Delete Flow Via RPC</arg>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Runs the keyword and continues execution even if a failure occurs.</doc>
<status status="PASS" start="2026-05-25T00:37:56.970914" elapsed="0.486608"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-05-25T00:37:56.956772" elapsed="0.500834"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-05-25T00:37:32.328290" elapsed="25.129399"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.459059" level="INFO">Slept 3 seconds.</msg>
<arg>${flow_update_time}</arg>
<doc>Pauses the test executed for the given time.</doc>
<status status="PASS" start="2026-05-25T00:37:57.458071" elapsed="3.001262"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:38:00.462869" level="INFO">dpctl dump-flows -O OpenFlow13</msg>
<arg>dpctl dump-flows -O OpenFlow13</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:38:00.459788" elapsed="0.003169"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:38:00.487028" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=126.964s, table=0, n_packets=18, n_bytes=1396, send_flow_rem priority=0 actions=CONTROLLER:65535
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:38:00.463189" elapsed="0.023907"/>
</kw>
<doc>Delete all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-05-25T00:37:32.327890" elapsed="28.159412"/>
</test>
<test id="s1-s3-s2-t103" name="Test Is Flow 1 Deleted" line="274">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.499343" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f1.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.499555" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.499151" elapsed="0.000436"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.500304" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd296c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.499756" elapsed="0.000577"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.500876" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.500569" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.501385" level="INFO">${flow_id} = 124</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.501058" elapsed="0.000356"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.501862" level="INFO">${flow_priority} = 1</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.501574" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.502771" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.502066" elapsed="0.000737"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.503629" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.502976" elapsed="0.000697"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.504162" level="INFO">${flow_id} = 124</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.503831" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.504712" level="INFO">${flow_priority} = 1</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.504376" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.505226" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.504908" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.505837" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.505506" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.506373" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd296c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.506035" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.498779" elapsed="0.007696"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.507062" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.506631" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.507515" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;124&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.1.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;1&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf1&lt;/flow-name&gt;
    &lt;priority&gt;1&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.507263" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.515457" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.515122" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.522094" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.522373" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=124?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.522536" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.515616" elapsed="0.006956"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.523217" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.522853" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.526335" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.523511" elapsed="0.002897"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:00.529023" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.526528" elapsed="0.002608"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.526491" elapsed="0.002681"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:00.529424" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.529752" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.529556" elapsed="0.000269"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:00.529533" elapsed="0.000326"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.529904" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:00.532315" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:00.532382" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.514796" elapsed="0.017619"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.535095" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.533194" elapsed="0.001949"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.533168" elapsed="0.001998"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.535745" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.535331" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.536308" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.535936" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.536384" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:00.536565" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.532723" elapsed="0.003868"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.536750" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.514179" elapsed="0.023044"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.545229" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.544927" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.551572" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.551731" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.551878" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.545435" elapsed="0.006479"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.552590" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.552165" elapsed="0.000490"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.558266" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.552933" elapsed="0.005409"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.561022" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.558519" elapsed="0.002575"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.558488" elapsed="0.002638"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.564066" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:00.564113" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:00.561348" elapsed="0.002788"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.565997" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.564213" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.564195" elapsed="0.001884"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:00.566112" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:00.566332" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:00.566376" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 124 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.544545" elapsed="0.021854"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.568772" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.566976" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.566958" elapsed="0.001885"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.569477" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.568997" elapsed="0.000511"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.570192" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.569685" elapsed="0.000534"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.570284" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:00.570467" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.566633" elapsed="0.003859"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.570652" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.543892" elapsed="0.027223"/>
</kw>
<arg>f1.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.495278" elapsed="0.075893"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.487813" elapsed="0.083506"/>
</test>
<test id="s1-s3-s2-t104" name="Test Is Flow 2 Deleted" line="276">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.582656" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f2.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.582816" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.582507" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.583425" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a7a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.583001" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.583894" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.583607" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.584363" level="INFO">${flow_id} = 125</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.584076" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.584812" level="INFO">${flow_priority} = 2</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.584542" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.585848" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.584990" elapsed="0.000890"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.586408" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.586046" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.586982" level="INFO">${flow_id} = 125</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.586645" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.587561" level="INFO">${flow_priority} = 2</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.587202" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.588080" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.587760" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.588625" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.588296" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.589153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2a7a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.588826" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.582153" elapsed="0.007115"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.589852" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.589444" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.590302" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;125&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.0.0.1/32&lt;/ipv4-source&gt;
    &lt;/match&gt;
    &lt;cookie&gt;2&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf2&lt;/flow-name&gt;
    &lt;priority&gt;2&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.590037" elapsed="0.000326"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.598371" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.598032" elapsed="0.000366"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.604731" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.604920" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=125?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.605042" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.598532" elapsed="0.006539"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.605686" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.605323" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.608010" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.605884" elapsed="0.002178"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:00.610185" elapsed="0.000076"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.608151" elapsed="0.002175"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.608124" elapsed="0.002241"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:00.610575" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.610980" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.610782" elapsed="0.000272"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:00.610756" elapsed="0.000332"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.611133" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:00.613546" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:00.613626" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.597704" elapsed="0.015963"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.616739" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.614506" elapsed="0.002298"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.614481" elapsed="0.002354"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.617718" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.617046" elapsed="0.000704"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.618328" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.617920" elapsed="0.000437"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.618409" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:00.618596" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.614003" elapsed="0.004619"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.618786" elapsed="0.000419"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.597063" elapsed="0.022230"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.627448" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.627113" elapsed="0.000364"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.633931" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.634214" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.634532" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.627611" elapsed="0.006991"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.635847" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.635101" elapsed="0.000859"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.640304" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.636360" elapsed="0.004022"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.643393" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.640490" elapsed="0.003023"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.640459" elapsed="0.003105"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.647689" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:00.647737" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:00.643899" elapsed="0.003861"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.649759" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.647840" elapsed="0.001992"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.647821" elapsed="0.002045"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:00.649902" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:38:00.650116" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:00.650161" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 125 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.626729" elapsed="0.023454"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.652569" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.650865" elapsed="0.001752"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.650846" elapsed="0.001794"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.653268" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.652803" elapsed="0.000494"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.653930" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.653525" elapsed="0.000433"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.654010" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:00.654195" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.650516" elapsed="0.003705"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.654403" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.626056" elapsed="0.028831"/>
</kw>
<arg>f2.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.578843" elapsed="0.076108"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.571686" elapsed="0.083411"/>
</test>
<test id="s1-s3-s2-t105" name="Test Is Flow 3 Deleted" line="278">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.670700" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f3.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.670929" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.670483" elapsed="0.000489"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.671844" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b060&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.671204" elapsed="0.000682"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.672564" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.672116" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.673274" level="INFO">${flow_id} = 126</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.672834" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.673985" level="INFO">${flow_priority} = 3</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.673575" elapsed="0.000449"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.675486" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.674271" elapsed="0.001261"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.676299" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.675774" elapsed="0.000590"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.677072" level="INFO">${flow_id} = 126</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.676592" elapsed="0.000542"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.677926" level="INFO">${flow_priority} = 3</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.677383" elapsed="0.000606"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.678704" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.678215" elapsed="0.000539"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.679229" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.678907" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.679816" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2b060&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.679489" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.669784" elapsed="0.010131"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.680475" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.680068" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.680908" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:00:01&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;3&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf3&lt;/flow-name&gt;
    &lt;priority&gt;3&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.680659" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.688787" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.688478" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.693859" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.694000" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=126?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.694098" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.688946" elapsed="0.005178"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.694570" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.694310" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.697616" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.694803" elapsed="0.002886"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:00.700289" elapsed="0.000045"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.697792" elapsed="0.002597"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.697762" elapsed="0.002662"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:00.700627" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.700944" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.700755" elapsed="0.000260"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:00.700732" elapsed="0.000317"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.701094" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:00.703261" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:00.703309" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.688141" elapsed="0.015191"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.705547" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.703882" elapsed="0.001713"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.703864" elapsed="0.001754"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.706175" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.705773" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.706777" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.706419" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.706854" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:00.707034" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.703549" elapsed="0.003511"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.707218" elapsed="0.000410"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.687570" elapsed="0.020122"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.715585" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.715283" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.721006" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.721147" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.721281" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.715742" elapsed="0.005567"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.721782" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.721483" elapsed="0.000345"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.724717" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.721971" elapsed="0.002818"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.727412" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.724886" elapsed="0.002599"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.724859" elapsed="0.002658"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.731117" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:00.731164" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:00.727720" elapsed="0.003466"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.733019" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.731280" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.731261" elapsed="0.001838"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:00.733132" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:00.733342" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:00.733386" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 126 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.714890" elapsed="0.018518"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.735602" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.733979" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.733961" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.736216" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.735817" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.736777" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.736423" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.736853" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:00.737032" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.733643" elapsed="0.003451"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.737270" elapsed="0.000423"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.714263" elapsed="0.023494"/>
</kw>
<arg>f3.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.663841" elapsed="0.073972"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.655435" elapsed="0.082497"/>
</test>
<test id="s1-s3-s2-t106" name="Test Is Flow 4 Deleted" line="280">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.748792" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f4.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.748955" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.748653" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.749578" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300630&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.749138" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.750046" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.749763" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.750516" level="INFO">${flow_id} = 127</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.750226" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.750965" level="INFO">${flow_priority} = 4</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.750694" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.751976" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.751140" elapsed="0.000867"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.752522" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.752168" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.753042" level="INFO">${flow_id} = 127</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.752719" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.753610" level="INFO">${flow_priority} = 4</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.753249" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.754122" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.753806" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.754657" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.754335" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.755174" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300630&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.754852" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.748322" elapsed="0.006965"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.755820" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.755437" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.756259" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;127&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;4&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf4&lt;/flow-name&gt;
    &lt;priority&gt;4&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.756002" elapsed="0.000362"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.764169" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.763869" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.768195" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.768327" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=127?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.768426" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.764343" elapsed="0.004109"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.768874" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.768617" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.771345" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.769063" elapsed="0.002355"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:00.774011" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.771518" elapsed="0.002587"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.771490" elapsed="0.002650"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:00.774365" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.774689" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.774496" elapsed="0.000264"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:00.774473" elapsed="0.000320"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.774838" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:00.777161" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:00.777224" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.763548" elapsed="0.013727"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.779882" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.778077" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.778052" elapsed="0.001898"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.780515" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.780097" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.781053" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.780703" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.781128" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:00.781324" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.777570" elapsed="0.003779"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.781509" elapsed="0.000412"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.762972" elapsed="0.019013"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.789864" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.789546" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.795552" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.795953" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.796213" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.790020" elapsed="0.006305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.797494" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.796755" elapsed="0.000906"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.803432" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.798060" elapsed="0.005503"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.807312" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.803755" elapsed="0.003613"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.803701" elapsed="0.003692"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.810160" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:00.810207" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:00.807559" elapsed="0.002671"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.812065" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.810326" elapsed="0.001796"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.810306" elapsed="0.001840"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:00.812180" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:00.812408" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:00.812452" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 127 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.789149" elapsed="0.023326"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.814718" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.813074" elapsed="0.001691"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.813056" elapsed="0.001732"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.815387" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.814943" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.815933" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.815580" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.816008" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:00.816189" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.812723" elapsed="0.003492"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.816392" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.788534" elapsed="0.028323"/>
</kw>
<arg>f4.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.745001" elapsed="0.071916"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.738116" elapsed="0.078939"/>
</test>
<test id="s1-s3-s2-t107" name="Test Is Flow 5 Deleted" line="282">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.828185" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f5.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.828362" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.828037" elapsed="0.000354"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.828974" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.828547" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.829514" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.829156" elapsed="0.000386"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.829989" level="INFO">${flow_id} = 128</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.829714" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.830456" level="INFO">${flow_priority} = 5</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.830166" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.831505" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.830634" elapsed="0.000903"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.832041" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.831700" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.832583" level="INFO">${flow_id} = 128</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.832256" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.833108" level="INFO">${flow_priority} = 5</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.832779" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.833634" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.833317" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.834185" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.833863" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.834728" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.834400" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.827698" elapsed="0.007127"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.835403" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.834976" elapsed="0.000458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.835832" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;128&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:00:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;5&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;5&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.835589" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.843833" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.843519" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.848019" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.848140" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=128?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.848294" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.843992" elapsed="0.004330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.848742" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.848486" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.851092" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.848930" elapsed="0.002233"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:00.853776" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.851284" elapsed="0.002587"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.851254" elapsed="0.002652"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:00.854106" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.854447" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.854253" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:00.854211" elapsed="0.000342"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.854598" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:00.856915" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:00.856979" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.843179" elapsed="0.013832"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.859691" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.857837" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.857811" elapsed="0.001950"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.860322" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.859907" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.860866" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.860512" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.860941" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:00.861119" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.857331" elapsed="0.003813"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.861315" elapsed="0.000407"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.842606" elapsed="0.019181"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.869616" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.869315" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.875332" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.875443" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.875539" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.869794" elapsed="0.005770"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.876368" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.875753" elapsed="0.000682"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.879462" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.876637" elapsed="0.002948"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.882185" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.879685" elapsed="0.002588"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.879657" elapsed="0.002649"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.886180" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:00.886265" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:00.882505" elapsed="0.003795"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.888203" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.886411" elapsed="0.001863"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.886385" elapsed="0.001915"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:00.888333" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:00.888530" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:00.888574" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 128 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.868918" elapsed="0.019678"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.890775" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.889144" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.889126" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.891407" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.890990" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.891948" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.891597" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.892022" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:00.892201" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.888814" elapsed="0.003412"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.892398" elapsed="0.000384"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.868290" elapsed="0.024555"/>
</kw>
<arg>f5.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.824368" elapsed="0.068534"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.817286" elapsed="0.075732"/>
</test>
<test id="s1-s3-s2-t108" name="Test Is Flow 6 Deleted" line="284">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.904019" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f6.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.904156" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.903881" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.904764" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.904355" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.905228" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.904948" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.905698" level="INFO">${flow_id} = 129</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.905425" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.906181" level="INFO">${flow_priority} = 6</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.905909" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.907188" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.906376" elapsed="0.000843"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.907731" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.907395" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.908315" level="INFO">${flow_id} = 129</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.907972" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.908846" level="INFO">${flow_priority} = 6</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.908513" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.909371" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.909041" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.909907" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.909571" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.910442" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf1fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.910105" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.903552" elapsed="0.006987"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.911073" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.910691" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.911511" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;129&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;40.4.0.0/16&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;6&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf5&lt;/flow-name&gt;
    &lt;priority&gt;6&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.911268" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.919366" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.919048" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.923749" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.923862" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=129?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.923959" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.919524" elapsed="0.004461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.924430" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.924149" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.926649" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.924619" elapsed="0.002081"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:00.928542" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.926771" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.926751" elapsed="0.001883"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:00.928777" elapsed="0.000053"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.929041" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.928904" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:00.928886" elapsed="0.000230"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.929148" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:38:00.930826" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:00.930872" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.918730" elapsed="0.012164"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.933062" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.931462" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.931443" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.933689" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.933292" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.934285" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.933918" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.934362" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:00.934541" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.931107" elapsed="0.003460"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.934723" elapsed="0.000381"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.918161" elapsed="0.017006"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.943048" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.942750" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.947408" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.947519" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.947626" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.943205" elapsed="0.004447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.948067" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.947814" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.950368" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.948271" elapsed="0.002148"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.952915" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.950489" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.950470" elapsed="0.002544"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.956830" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:00.956894" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:00.953209" elapsed="0.003717"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:00.959292" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:00.957034" elapsed="0.002315"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.957008" elapsed="0.002366"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:00.959408" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:00.959603" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:00.959690" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 129 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.942364" elapsed="0.017352"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:00.961938" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:00.960282" elapsed="0.001704"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.960263" elapsed="0.001745"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.962579" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.962158" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.963123" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.962771" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:00.963198" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:00.963395" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:00.959931" elapsed="0.003490"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:00.963579" elapsed="0.000388"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.941702" elapsed="0.022328"/>
</kw>
<arg>f6.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.900245" elapsed="0.063840"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.893210" elapsed="0.070988"/>
</test>
<test id="s1-s3-s2-t109" name="Test Is Flow 7 Deleted" line="286">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:00.975503" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f7.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:00.975648" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:00.975363" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:00.976263" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:00.975829" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.976723" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.976445" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.977172" level="INFO">${flow_id} = 130</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.976903" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:00.977632" level="INFO">${flow_priority} = 7</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:00.977362" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:00.978792" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:00.977860" elapsed="0.000965"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.979342" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.978988" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.979868" level="INFO">${flow_id} = 130</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.979540" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.980405" level="INFO">${flow_priority} = 7</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.980063" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.980912" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.980599" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.981446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.981110" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.982055" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:00.981684" elapsed="0.000413"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:00.975015" elapsed="0.007137"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.982704" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:00.982319" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.983125" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;130&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:ff:aa&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;15&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;7&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf7&lt;/flow-name&gt;
    &lt;priority&gt;7&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.982884" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.990989" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:00.990689" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:00.995636" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:00.995751" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=130?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:00.995847" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:00.991146" elapsed="0.004727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.996321" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.996034" elapsed="0.000335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:00.998596" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:00.996513" elapsed="0.002134"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.001205" elapsed="0.000058"/>
</return>
<status status="PASS" start="2026-05-25T00:38:00.998742" elapsed="0.002576"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:00.998713" elapsed="0.002639"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.001548" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.001900" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.001675" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.001652" elapsed="0.000357"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.002054" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:01.004376" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.004455" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:00.990368" elapsed="0.014125"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.007510" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.005391" elapsed="0.002170"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.005365" elapsed="0.002218"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.008220" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.007742" elapsed="0.000524"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.008795" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.008436" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.008871" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:01.009060" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.004835" elapsed="0.004250"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.009261" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:00.989756" elapsed="0.019978"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.020307" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.019978" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.025106" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.025271" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.025383" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.020468" elapsed="0.004941"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.025853" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.025573" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.028024" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.026047" elapsed="0.002028"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.029957" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.028148" elapsed="0.001860"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.028127" elapsed="0.001903"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.033737" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.033802" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.030171" elapsed="0.003663"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.036397" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.033970" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.033944" elapsed="0.002566"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.036556" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:38:01.036835" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.036897" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 130 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.019595" elapsed="0.017334"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.039632" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.037710" elapsed="0.001971"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.037686" elapsed="0.002020"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.040264" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.039854" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.040854" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.040501" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.040931" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.041110" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.037226" elapsed="0.003910"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.041307" elapsed="0.000384"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.018940" elapsed="0.022814"/>
</kw>
<arg>f7.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:00.971722" elapsed="0.070087"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:00.964502" elapsed="0.077454"/>
</test>
<test id="s1-s3-s2-t110" name="Test Is Flow 8 Deleted" line="288">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.053445" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f8.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.053600" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.053299" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.054292" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d08b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.053784" elapsed="0.000538"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.054762" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.054476" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.055211" level="INFO">${flow_id} = 131</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.054940" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.055676" level="INFO">${flow_priority} = 8</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.055406" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.056629" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.055852" elapsed="0.000807"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.057156" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.056823" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.057685" level="INFO">${flow_id} = 131</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.057365" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.058226" level="INFO">${flow_priority} = 8</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.057901" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.058753" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.058435" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.059284" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.058949" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.059799" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d08b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.059480" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.052951" elapsed="0.006944"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.060442" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.060044" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.060901" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;131&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:00&lt;/address&gt;
                &lt;mask&gt;ff:ff:ff:ff:ff:00&lt;/mask&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;8&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf8&lt;/flow-name&gt;
    &lt;priority&gt;8&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.060624" elapsed="0.000342"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.068784" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.068478" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.074340" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.074460" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=131?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.074567" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.068938" elapsed="0.005654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.075004" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.074752" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.077342" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.075191" elapsed="0.002204"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.079515" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.077467" elapsed="0.002144"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.077447" elapsed="0.002199"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.079850" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.080165" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.079976" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.079953" elapsed="0.000338"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.080336" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.082661" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.082724" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.068144" elapsed="0.014611"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.085797" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.083540" elapsed="0.002322"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.083515" elapsed="0.002420"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.086717" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.086148" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.087273" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.086906" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.087381" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:01.087564" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.083052" elapsed="0.004538"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.087745" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.067582" elapsed="0.020611"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.096140" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.095840" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.100848" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.100956" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.101051" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.096313" elapsed="0.004763"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.101523" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.101261" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.104175" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.101712" elapsed="0.002555"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.106896" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.104363" elapsed="0.002602"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.104336" elapsed="0.002661"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.110903" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.110949" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.107192" elapsed="0.003780"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.112945" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.111048" elapsed="0.001952"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.111030" elapsed="0.001995"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.113058" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:01.113266" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.113312" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 131 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.095459" elapsed="0.017876"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.115520" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.113879" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.113861" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.116138" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.115738" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.116695" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.116343" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.116770" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.116947" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.113548" elapsed="0.003423"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.117127" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.094826" elapsed="0.022836"/>
</kw>
<arg>f8.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.049458" elapsed="0.068262"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.042299" elapsed="0.075538"/>
</test>
<test id="s1-s3-s2-t111" name="Test Is Flow 9 Deleted" line="290">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.129558" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f9.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.129712" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.129406" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.130416" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47d710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.129902" elapsed="0.000543"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.130889" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.130603" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.131360" level="INFO">${flow_id} = 132</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.131068" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.131813" level="INFO">${flow_priority} = 9</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.131539" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.132783" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.131990" elapsed="0.000824"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.133334" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.132979" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.133852" level="INFO">${flow_id} = 132</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.133532" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.134459" level="INFO">${flow_priority} = 9</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.134105" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.134970" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.134654" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.135508" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.135168" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.136025" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e47d710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.135705" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.129044" elapsed="0.007077"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.136681" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.136289" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.137114" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;132&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.1.0.0/16&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.5.0/24&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;9&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf9&lt;/flow-name&gt;
    &lt;priority&gt;9&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.136868" elapsed="0.000349"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.145227" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.144922" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.150711" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.150841" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=132?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.150939" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.145404" elapsed="0.005560"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.151408" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.151126" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.153578" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.151599" elapsed="0.002031"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.155897" elapsed="0.000045"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.153711" elapsed="0.002285"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.153687" elapsed="0.002345"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.156252" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.156576" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.156385" elapsed="0.000264"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.156362" elapsed="0.000321"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.156728" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.159075" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.159139" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.144602" elapsed="0.014568"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.162308" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.159957" elapsed="0.002416"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.159932" elapsed="0.002472"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.163047" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.162609" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.163606" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.163253" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.163683" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:38:01.163867" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.159490" elapsed="0.004401"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.164050" elapsed="0.000400"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.144017" elapsed="0.020496"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.172313" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.171999" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.178793" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.178999" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.179152" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.172468" elapsed="0.006720"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.179810" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.179449" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.183135" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.180075" elapsed="0.003132"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.185804" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.183336" elapsed="0.002538"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.183300" elapsed="0.002607"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.189936" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.190041" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.186127" elapsed="0.003951"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.192078" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.190191" elapsed="0.001945"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.190165" elapsed="0.001995"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.192194" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:01.192413" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.192457" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 132 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.171622" elapsed="0.020858"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.194690" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.193048" elapsed="0.001691"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.193030" elapsed="0.001732"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.195350" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.194913" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.195892" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.195541" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.195968" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.196147" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.192710" elapsed="0.003462"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.196352" elapsed="0.000398"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.170991" elapsed="0.025824"/>
</kw>
<arg>f9.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.125306" elapsed="0.071568"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.118166" elapsed="0.078841"/>
</test>
<test id="s1-s3-s2-t112" name="Test Is Flow 10 Deleted" line="292">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.208491" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f10.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.208650" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.208342" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.209482" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2700&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.209020" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.210003" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.209668" elapsed="0.000397"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.210513" level="INFO">${flow_id} = 133</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.210221" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.210963" level="INFO">${flow_priority} = 10</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.210691" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.212097" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.211141" elapsed="0.000987"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.212642" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.212305" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.213160" level="INFO">${flow_id} = 133</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.212838" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.213701" level="INFO">${flow_priority} = 10</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.213373" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.214262" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.213896" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.214781" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.214462" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.215312" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2700&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.214978" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.207989" elapsed="0.007420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.215980" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.215559" elapsed="0.000453"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.216444" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;133&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;10&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf10&lt;/flow-name&gt;
    &lt;priority&gt;10&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.216173" elapsed="0.000337"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.224454" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.224112" elapsed="0.000369"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.229471" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.229616" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=133?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.229769" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.224616" elapsed="0.005180"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.230290" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.229964" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.233198" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.230485" elapsed="0.002805"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.235898" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.233401" elapsed="0.002601"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.233368" elapsed="0.002669"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.236263" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.236587" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.236393" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.236370" elapsed="0.000324"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.236738" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.238979" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.239025" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.223790" elapsed="0.015258"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.241226" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.239621" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.239603" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.241863" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.241459" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.242450" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.242078" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.242527" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.242706" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.239283" elapsed="0.003448"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.242892" elapsed="0.000412"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.223185" elapsed="0.020183"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.251281" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.250967" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.256313" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.256427" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.256536" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.251439" elapsed="0.005123"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.256982" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.256726" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.259179" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.257173" elapsed="0.002114"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.261133" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.259360" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.259340" elapsed="0.001866"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.264855" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.264924" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.261365" elapsed="0.003592"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.267805" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.265077" elapsed="0.002813"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.265043" elapsed="0.002883"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.267977" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:38:01.268310" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.268381" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 133 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.250584" elapsed="0.017830"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.271355" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.269254" elapsed="0.002148"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.269208" elapsed="0.002216"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.271980" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.271573" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.272548" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.272171" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.272624" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.272803" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.268730" elapsed="0.004098"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.272986" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.249926" elapsed="0.023526"/>
</kw>
<arg>f10.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.204507" elapsed="0.069005"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.197449" elapsed="0.076199"/>
</test>
<test id="s1-s3-s2-t113" name="Test Is Flow 11 Deleted" line="294">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.284745" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f11.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.284906" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.284595" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.285556" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.285092" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.286024" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.285739" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.286526" level="INFO">${flow_id} = 134</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.286251" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.286975" level="INFO">${flow_priority} = 11</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.286705" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.288130" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.287153" elapsed="0.001008"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.288675" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.288335" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.289253" level="INFO">${flow_id} = 134</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.288912" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.289781" level="INFO">${flow_priority} = 11</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.289452" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.290327" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.289975" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.290850" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.290527" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.291385" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.291047" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.284262" elapsed="0.007222"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.292020" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.291635" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.292461" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;134&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x800&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;1&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;27&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv4-match&gt;
            &lt;icmpv4-type&gt;6&lt;/icmpv4-type&gt;
            &lt;icmpv4-code&gt;3&lt;/icmpv4-code&gt;
        &lt;/icmpv4-match&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;11&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf11&lt;/flow-name&gt;
    &lt;priority&gt;11&lt;/priority&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.292202" elapsed="0.000323"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.300342" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.300023" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.304812" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.304938" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=134?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.305036" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.300501" elapsed="0.004560"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.305502" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.305226" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.307729" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.305695" elapsed="0.002084"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.309817" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.307851" elapsed="0.002037"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.307831" elapsed="0.002083"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.310058" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.310347" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.310194" elapsed="0.000207"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.310176" elapsed="0.000249"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.310457" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:01.312697" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.312760" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.299705" elapsed="0.013087"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.315857" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.313572" elapsed="0.002350"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.313546" elapsed="0.002408"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.316740" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.316160" elapsed="0.000618"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.317519" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.317006" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.317626" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:01.317881" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.313088" elapsed="0.004827"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.318176" elapsed="0.000563"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.299128" elapsed="0.019674"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.326866" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.326567" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.331029" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.331140" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.331267" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.327024" elapsed="0.004270"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.331712" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.331462" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.333900" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.331901" elapsed="0.002051"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.336311" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.334020" elapsed="0.002360"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.334001" elapsed="0.002411"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.340385" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.340450" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.336608" elapsed="0.003873"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.342970" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.340589" elapsed="0.002473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.340563" elapsed="0.002526"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.343124" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.343338" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.343383" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 134 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.326168" elapsed="0.017237"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.345583" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.343959" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.343941" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.346402" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.345804" elapsed="0.000626"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.346948" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.346595" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.347023" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.347201" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.343620" elapsed="0.003606"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.347401" elapsed="0.000385"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.325519" elapsed="0.022330"/>
</kw>
<arg>f11.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.280932" elapsed="0.066973"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.273952" elapsed="0.074067"/>
</test>
<test id="s1-s3-s2-t114" name="Test Is Flow 14 Deleted" line="296">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.359264" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f14.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.359402" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.359108" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.360010" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.359588" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.360491" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.360193" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.360943" level="INFO">${flow_id} = 137</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.360672" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.361410" level="INFO">${flow_priority} = 14</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.361123" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.362353" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.361588" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.362878" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.362547" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.363417" level="INFO">${flow_id} = 137</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.363077" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.363942" level="INFO">${flow_priority} = 14</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.363613" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.364470" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.364137" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.365032" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.364709" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.365570" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c8180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.365229" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.358771" elapsed="0.006895"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.366231" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.365817" elapsed="0.000461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.366679" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;137&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;0x806&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:ff:ff:FF:ff&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:FC:01:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;arp-op&gt;1&lt;/arp-op&gt;
        &lt;arp-source-transport-address&gt;192.168.4.1/32&lt;/arp-source-transport-address&gt;
        &lt;arp-target-transport-address&gt;10.21.22.23/32&lt;/arp-target-transport-address&gt;
        &lt;arp-source-hardware-address&gt;
            &lt;address&gt;12:34:56:78:98:AB&lt;/address&gt;
        &lt;/arp-source-hardware-address&gt;
        &lt;arp-target-hardware-address&gt;
            &lt;address&gt;FE:DC:BA:98:76:54&lt;/address&gt;
        &lt;/arp-target-hardware-address&gt;
    &lt;/match&gt;
    &lt;cookie&gt;14&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf14&lt;/flow-name&gt;
    &lt;priority&gt;14&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.366434" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.374589" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.374287" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.379407" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.379517" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=137?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.379623" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.374751" elapsed="0.004898"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.380068" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.379815" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.382457" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.380273" elapsed="0.002235"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.385011" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.382578" elapsed="0.002526"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.382559" elapsed="0.002580"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.385361" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.385682" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.385491" elapsed="0.000269"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.385468" elapsed="0.000326"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.385839" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.388163" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.388289" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.373928" elapsed="0.014397"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.391199" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.389084" elapsed="0.002176"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.389060" elapsed="0.002223"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.391834" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.391431" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.392391" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.392023" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.392467" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:01.392647" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.388622" elapsed="0.004050"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.392834" elapsed="0.000383"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.373368" elapsed="0.019928"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.401860" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.401536" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.406120" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.406321" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.406433" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.402027" elapsed="0.004433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.406937" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.406648" elapsed="0.000335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.409404" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.407125" elapsed="0.002332"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.411348" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.409538" elapsed="0.001865"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.409514" elapsed="0.001912"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.414269" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.414320" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.411574" elapsed="0.002770"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.418280" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.414421" elapsed="0.003917"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.414402" elapsed="0.003961"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.418396" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:38:01.418607" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.418650" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 137 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.401126" elapsed="0.017547"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.421051" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.419281" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.419263" elapsed="0.001904"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.421767" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.421340" elapsed="0.000454"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.422354" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.421954" elapsed="0.000427"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.422430" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.422611" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.418917" elapsed="0.003719"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.422795" elapsed="0.000407"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.400405" elapsed="0.022876"/>
</kw>
<arg>f14.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.355218" elapsed="0.068121"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.348285" elapsed="0.075187"/>
</test>
<test id="s1-s3-s2-t115" name="Test Is Flow 15 Deleted" line="298">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.434891" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f15.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.435082" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.434725" elapsed="0.000387"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.435797" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.435308" elapsed="0.000518"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.436296" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.435986" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.436754" level="INFO">${flow_id} = 138</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.436479" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.437209" level="INFO">${flow_priority} = 15</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.436934" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.438147" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.437405" elapsed="0.000772"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.438737" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.438390" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.439290" level="INFO">${flow_id} = 138</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.438935" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.439820" level="INFO">${flow_priority} = 15</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.439489" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.440347" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.440015" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.440869" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.440546" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.441406" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d6020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.441067" elapsed="0.000382"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.434379" elapsed="0.007127"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.442122" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.441662" elapsed="0.000490"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.442588" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;138&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;15&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf15&lt;/flow-name&gt;
    &lt;priority&gt;15&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.442340" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.450636" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.450320" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.456114" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.456290" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=138?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.456390" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.450795" elapsed="0.005620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.456867" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.456578" elapsed="0.000352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.459953" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.457133" elapsed="0.002892"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.462670" elapsed="0.000052"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.460135" elapsed="0.002644"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.460103" elapsed="0.002712"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.463020" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.463357" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.463147" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.463123" elapsed="0.000341"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.463509" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.465821" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.465885" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.449969" elapsed="0.015948"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.468377" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.466760" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.466742" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.469005" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.468595" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.469565" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.469196" elapsed="0.000433"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.469681" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:01.469866" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.466223" elapsed="0.003668"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.470080" elapsed="0.000485"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.449392" elapsed="0.021240"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.478658" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.478347" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.483657" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.483813" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.483951" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.478817" elapsed="0.005170"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.484645" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.484220" elapsed="0.000492"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.488096" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.484916" elapsed="0.003255"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.490857" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.488295" elapsed="0.002614"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.488265" elapsed="0.002668"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.493786" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.493833" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.491104" elapsed="0.002753"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.495755" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.493936" elapsed="0.001875"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.493917" elapsed="0.001919"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.495870" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.496065" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.496109" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 138 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.477911" elapsed="0.018220"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.498425" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.496732" elapsed="0.001741"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.496713" elapsed="0.001783"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.499075" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.498647" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.499648" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.499287" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.499725" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:01.499932" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.496365" elapsed="0.003594"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.500165" elapsed="0.000419"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.477245" elapsed="0.023407"/>
</kw>
<arg>f15.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.430994" elapsed="0.069715"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.423822" elapsed="0.077018"/>
</test>
<test id="s1-s3-s2-t116" name="Test Is Flow 16 Deleted" line="300">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.512297" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f16.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.512451" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.512131" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.513095" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.512641" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.513614" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.513304" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.514101" level="INFO">${flow_id} = 139</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.513798" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.514618" level="INFO">${flow_priority} = 16</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.514305" elapsed="0.000340"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.515716" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.514798" elapsed="0.000951"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.516292" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.515914" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.516830" level="INFO">${flow_id} = 139</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.516501" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.517394" level="INFO">${flow_priority} = 16</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.517029" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.517916" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.517598" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.518492" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.518115" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.519024" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.518701" elapsed="0.000366"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.511773" elapsed="0.007350"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.519702" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.519292" elapsed="0.000442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.520137" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf16&lt;/flow-name&gt;
    &lt;id&gt;139&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;16&lt;/cookie&gt;
    &lt;priority&gt;16&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;78&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.519891" elapsed="0.000360"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.528302" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.527956" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.533901" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.534156" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.534439" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.528462" elapsed="0.006037"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.535446" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.534856" elapsed="0.000691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.540446" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.535867" elapsed="0.004695"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.544058" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.540723" elapsed="0.003435"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.540677" elapsed="0.003515"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.544416" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.544737" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.544546" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.544523" elapsed="0.000318"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.544885" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.547255" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.547322" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.527630" elapsed="0.019724"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.550420" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.548120" elapsed="0.002367"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.548095" elapsed="0.002423"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.551131" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.550725" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.551689" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.551336" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.551764" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.551943" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.547653" elapsed="0.004315"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.552128" elapsed="0.000407"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.527019" elapsed="0.025580"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.560472" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.560154" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.564407" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.564556" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.564653" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.560627" elapsed="0.004052"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.565092" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.564839" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.567849" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.565298" elapsed="0.002623"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.570585" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.568018" elapsed="0.002643"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.567990" elapsed="0.002705"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.574736" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.574782" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.570893" elapsed="0.003913"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.576624" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.574885" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.574866" elapsed="0.001838"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.576738" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:01.576932" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.576976" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 139 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.559772" elapsed="0.017226"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.579187" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.577557" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.577540" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.579822" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.579420" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.580383" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.580014" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.580460" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.580640" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.577210" elapsed="0.003455"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.580822" elapsed="0.000386"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.559127" elapsed="0.022163"/>
</kw>
<arg>f16.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.508315" elapsed="0.073032"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.501155" elapsed="0.080308"/>
</test>
<test id="s1-s3-s2-t117" name="Test Is Flow 17 Deleted" line="302">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.592751" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f17.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.592900" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.592607" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.593531" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3036f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.593086" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.594042" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.593712" elapsed="0.000357"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.594574" level="INFO">${flow_id} = 140</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.594222" elapsed="0.000381"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.595041" level="INFO">${flow_priority} = 17</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.594766" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.596100" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.595219" elapsed="0.000912"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.596666" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.596310" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.597196" level="INFO">${flow_id} = 140</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.596872" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.597743" level="INFO">${flow_priority} = 17</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.597411" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.598265" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.597937" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.598794" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.598474" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.599324" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3036f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.598991" elapsed="0.000376"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.592268" elapsed="0.007155"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.599959" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.599573" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.600402" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;flow-name&gt;FooXf17&lt;/flow-name&gt;
    &lt;id&gt;140&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;17&lt;/cookie&gt;
    &lt;priority&gt;17&lt;/priority&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34887&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;protocol-match-fields&gt;
            &lt;mpls-label&gt;567&lt;/mpls-label&gt;
            &lt;mpls-tc&gt;3&lt;/mpls-tc&gt;
            &lt;mpls-bos&gt;1&lt;/mpls-bos&gt;
        &lt;/protocol-match-fields&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.600142" elapsed="0.000320"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.609358" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.609031" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.614587" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.614734" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=140?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.614936" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.609520" elapsed="0.005454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.615591" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.615205" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.619112" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.615863" elapsed="0.003327"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.621870" elapsed="0.000058"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.619340" elapsed="0.002648"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.619306" elapsed="0.002720"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.622266" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.622626" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.622403" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.622378" elapsed="0.000360"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.622785" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.625167" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.625253" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.608705" elapsed="0.016585"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.627946" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.626111" elapsed="0.001883"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.626086" elapsed="0.001932"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.628641" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.628179" elapsed="0.000490"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.629192" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.628835" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.629287" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:38:01.629476" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.625630" elapsed="0.003872"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.629664" elapsed="0.000422"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.608106" elapsed="0.022049"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.639351" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.638891" elapsed="0.000498"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.644718" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.644900" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.645024" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.639557" elapsed="0.005494"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.645607" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.645295" elapsed="0.000363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.648392" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.645811" elapsed="0.002727"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.650447" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.648635" elapsed="0.001872"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.648605" elapsed="0.001929"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.654272" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.654347" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.650744" elapsed="0.003641"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.657436" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.654506" elapsed="0.003031"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.654477" elapsed="0.003109"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.657653" elapsed="0.000066"/>
</return>
<msg time="2026-05-25T00:38:01.658060" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.658150" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 140 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.638393" elapsed="0.019803"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.661421" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.659272" elapsed="0.002204"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.659216" elapsed="0.002284"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.662305" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.661685" elapsed="0.000656"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.663038" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.662566" elapsed="0.000508"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.663141" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:01.663392" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.658652" elapsed="0.004769"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.663600" elapsed="0.000438"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.637449" elapsed="0.026659"/>
</kw>
<arg>f17.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.588860" elapsed="0.075317"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.581760" elapsed="0.082581"/>
</test>
<test id="s1-s3-s2-t118" name="Test Is Flow 18 Deleted" line="304">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.676053" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f18.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.676271" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.675875" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.676947" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf3b50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.676479" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.677451" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.677138" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.677917" level="INFO">${flow_id} = 141</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.677641" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.678390" level="INFO">${flow_priority} = 18</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.678097" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.679568" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.678573" elapsed="0.001028"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.680187" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.679811" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.680818" level="INFO">${flow_id} = 141</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.680485" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.681372" level="INFO">${flow_priority} = 18</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.681019" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.681912" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.681590" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.682456" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.682114" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.682982" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf3b50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.682658" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.675480" elapsed="0.007667"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.683790" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.683325" elapsed="0.000503"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.684261" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf18&lt;/flow-name&gt;
    &lt;id&gt;141&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;18&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;18&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;aabb:1234:2acf:e9ff::/64&lt;/ipv6-destination&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.683993" elapsed="0.000330"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.692373" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.692021" elapsed="0.000381"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.697166" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.697359" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=141?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.697468" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.692541" elapsed="0.004953"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.697950" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.697675" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.700770" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.698140" elapsed="0.002706"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.703648" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.700971" elapsed="0.002793"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.700933" elapsed="0.002869"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.704019" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.704450" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.704154" elapsed="0.000377"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.704130" elapsed="0.000438"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.704616" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:01.707096" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.707164" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.691687" elapsed="0.015511"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.709609" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.708005" elapsed="0.001651"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.707986" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.710267" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.709834" elapsed="0.000461"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.710814" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.710459" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.710890" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.711072" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.707609" elapsed="0.003488"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.711275" elapsed="0.000430"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.691004" elapsed="0.020771"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.719731" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.719399" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.724152" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.724290" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.724390" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.719892" elapsed="0.004523"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.724886" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.724577" elapsed="0.000372"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.728320" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.725147" elapsed="0.003247"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.730968" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.728492" elapsed="0.002545"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.728465" elapsed="0.002604"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.734992" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.735058" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.731291" elapsed="0.003799"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.737435" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.735198" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.735172" elapsed="0.002345"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.737551" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.737745" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.737788" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 141 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.718997" elapsed="0.018814"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.740046" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.738421" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.738402" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.740686" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.740280" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.741234" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.740877" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.741326" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.741506" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.738069" elapsed="0.003463"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.741689" elapsed="0.000388"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.718364" elapsed="0.023779"/>
</kw>
<arg>f18.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.671826" elapsed="0.070374"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.664579" elapsed="0.077778"/>
</test>
<test id="s1-s3-s2-t119" name="Test Is Flow 19 Deleted" line="306">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.753537" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f19.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.753702" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.753385" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.754324" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302160&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.753888" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.754794" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.754507" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.755256" level="INFO">${flow_id} = 142</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.754971" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.755709" level="INFO">${flow_priority} = 19</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.755436" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.756509" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.755890" elapsed="0.000651"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.757261" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.756703" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.757789" level="INFO">${flow_id} = 142</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.757461" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.758334" level="INFO">${flow_priority} = 19</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.757985" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.758847" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.758529" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.759383" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.759043" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.759907" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302160&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.759584" elapsed="0.000404"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.753031" elapsed="0.007015"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.760640" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.760238" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.761065" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf19&lt;/flow-name&gt;
    &lt;id&gt;142&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;19&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;19&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.760821" elapsed="0.000300"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.768967" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.768661" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.773817" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.773940" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=142?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.774037" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.769122" elapsed="0.004940"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.774503" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.774223" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.776753" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.774695" elapsed="0.002133"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.779419" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.776929" elapsed="0.002586"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.776901" elapsed="0.002648"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.779750" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.780064" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.779876" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.779854" elapsed="0.000317"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.780215" elapsed="0.000025"/>
</return>
<msg time="2026-05-25T00:38:01.782565" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.782629" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.768337" elapsed="0.014324"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.785541" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.783442" elapsed="0.002147"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.783417" elapsed="0.002194"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.786162" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.785761" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.786721" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.786368" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.786833" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:01.787018" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.782956" elapsed="0.004087"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.787200" elapsed="0.000407"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.767725" elapsed="0.019947"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.795519" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.795204" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.801159" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.801290" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.801388" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.795675" elapsed="0.005739"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.801880" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.801573" elapsed="0.000389"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.805407" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.802186" elapsed="0.003294"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.808063" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.805577" elapsed="0.002556"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.805550" elapsed="0.002614"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.811213" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.811286" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.808381" elapsed="0.002931"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.813127" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.811390" elapsed="0.001793"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.811372" elapsed="0.001836"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.813241" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:38:01.813464" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.813510" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 142 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.794824" elapsed="0.018708"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.815797" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.814108" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.814090" elapsed="0.001782"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.816473" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.816028" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.817064" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.816669" elapsed="0.000422"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.817140" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:01.817341" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.813749" elapsed="0.003617"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.817524" elapsed="0.000437"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.794188" elapsed="0.023838"/>
</kw>
<arg>f19.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.749697" elapsed="0.068386"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.742682" elapsed="0.075520"/>
</test>
<test id="s1-s3-s2-t120" name="Test Is Flow 20 Deleted" line="308">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.829664" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f20.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.829876" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.829481" elapsed="0.000426"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.830619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d1ee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.830106" elapsed="0.000542"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.831094" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.830807" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.831566" level="INFO">${flow_id} = 143</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.831293" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.832016" level="INFO">${flow_priority} = 20</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.831747" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.832877" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.832192" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.833851" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.833082" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.834399" level="INFO">${flow_id} = 143</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.834053" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.834927" level="INFO">${flow_priority} = 20</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.834597" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.835455" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.835121" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.835972" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.835652" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.836512" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d1ee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.836171" elapsed="0.000383"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.829055" elapsed="0.007563"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.837447" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.836777" elapsed="0.000734"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.837990" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf20&lt;/flow-name&gt;
    &lt;id&gt;143&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;20&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;20&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xf0ff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.837710" elapsed="0.000452"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.846702" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.846313" elapsed="0.000421"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.852674" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.852887" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=143?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.853027" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.846888" elapsed="0.006174"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.853730" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.853324" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.856821" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.853997" elapsed="0.002895"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.859536" elapsed="0.000056"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.857008" elapsed="0.002643"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.856973" elapsed="0.002715"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.859894" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.860213" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.860023" elapsed="0.000286"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.859999" elapsed="0.000344"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.860389" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.862751" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.862795" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.845932" elapsed="0.016886"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.865012" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.863412" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.863394" elapsed="0.001687"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.865691" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.865238" elapsed="0.000482"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.866244" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.865886" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.866334" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:01.866515" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.863051" elapsed="0.003490"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.866702" elapsed="0.000406"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.845122" elapsed="0.022052"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.875131" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.874818" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.879522" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.879725" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.879826" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.875311" elapsed="0.004540"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.880294" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.880018" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.884747" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.880484" elapsed="0.004315"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.886716" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.884873" elapsed="0.001922"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.884851" elapsed="0.001977"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.890683" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.890749" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.887081" elapsed="0.003703"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.893335" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.890892" elapsed="0.002523"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.890866" elapsed="0.002584"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.893496" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:01.893770" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.893833" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 143 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.874434" elapsed="0.019431"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.896344" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.894720" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.894697" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.896972" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.896563" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.897533" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.897160" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.897608" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.897791" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.894228" elapsed="0.003588"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.897973" elapsed="0.000437"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.873779" elapsed="0.024696"/>
</kw>
<arg>f20.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.825521" elapsed="0.073009"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.818413" elapsed="0.080252"/>
</test>
<test id="s1-s3-s2-t121" name="Test Is Flow 21 Deleted" line="310">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.910092" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f21.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.910308" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.909941" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.910924" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.910494" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.911458" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.911103" elapsed="0.000384"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.911911" level="INFO">${flow_id} = 144</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.911639" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.912378" level="INFO">${flow_priority} = 21</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.912087" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.913460" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.912555" elapsed="0.000936"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.913989" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.913652" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.914542" level="INFO">${flow_id} = 144</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.914181" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.915057" level="INFO">${flow_priority} = 21</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.914735" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.915577" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.915262" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.916088" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.915772" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.916621" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e355030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.916299" elapsed="0.000364"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.909598" elapsed="0.007119"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.917265" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.916867" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.917690" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf21&lt;/flow-name&gt;
    &lt;id&gt;144&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;21&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;21&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80::2acf:e9ff:fe21:6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.917447" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.925673" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.925356" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.930881" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.931010" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=144?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.931149" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.925846" elapsed="0.005330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.931654" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.931389" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.933899" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.931853" elapsed="0.002098"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:01.935901" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:38:01.934025" elapsed="0.001976"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.934004" elapsed="0.002035"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:01.936266" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.936595" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.936402" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:01.936377" elapsed="0.000326"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.936749" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:01.939099" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:01.939163" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.925015" elapsed="0.014180"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.942206" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.939979" elapsed="0.002315"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.939954" elapsed="0.002373"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.943141" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.942529" elapsed="0.000649"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.943869" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.943427" elapsed="0.000468"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.943944" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.944123" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.939518" elapsed="0.004630"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.944323" elapsed="0.000385"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.924442" elapsed="0.020329"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.952672" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:01.952370" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:01.956641" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:01.956750" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:01.956846" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:01.952829" elapsed="0.004043"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.957318" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.957033" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.959732" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.957511" elapsed="0.002344"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.962447" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.959953" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.959926" elapsed="0.002622"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.966602" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:01.966667" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:01.962746" elapsed="0.003953"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:01.968827" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:01.966807" elapsed="0.002075"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.966781" elapsed="0.002127"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:01.968941" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:01.969135" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:01.969179" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 144 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:01.951968" elapsed="0.017233"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:01.971413" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:01.969771" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:01.969753" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.972027" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.971627" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.972589" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.972217" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:01.972665" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:01.972849" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:01.969431" elapsed="0.003443"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:01.973030" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.951305" elapsed="0.022193"/>
</kw>
<arg>f21.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.906316" elapsed="0.067238"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.899012" elapsed="0.074661"/>
</test>
<test id="s1-s3-s2-t122" name="Test Is Flow 22 Deleted" line="312">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:01.985001" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f22.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:01.985141" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:01.984860" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:01.985760" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d54e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:01.985343" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.986220" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.985941" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.986691" level="INFO">${flow_id} = 145</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.986418" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:01.987136" level="INFO">${flow_priority} = 22</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:01.986867" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:01.988263" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:01.987360" elapsed="0.000937"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.988844" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.988459" elapsed="0.000442"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.989483" level="INFO">${flow_id} = 145</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.989127" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.990012" level="INFO">${flow_priority} = 22</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.989682" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.990549" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.990211" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.991073" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.990750" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.991665" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d54e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:01.991291" elapsed="0.000419"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:01.984529" elapsed="0.007240"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.992329" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:01.991923" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:01.992761" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf22&lt;/flow-name&gt;
    &lt;id&gt;145&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;22&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;22&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:01.992516" elapsed="0.000308"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.000833" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.000510" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.005916" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.006055" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=145?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.006155" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.000997" elapsed="0.005183"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.006642" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.006378" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.009024" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.006837" elapsed="0.002262"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.011914" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.009209" elapsed="0.002865"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.009177" elapsed="0.002939"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.012358" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.012696" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.012496" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.012471" elapsed="0.000336"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.012855" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:02.015338" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.015404" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.000156" elapsed="0.015280"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.018066" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.016296" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.016268" elapsed="0.001868"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.018707" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.018302" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.019269" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.018899" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.019347" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:02.019529" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.015797" elapsed="0.003758"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.019718" elapsed="0.000421"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:01.999516" elapsed="0.020687"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.028181" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.027873" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.032357" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.032474" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.032586" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.028359" elapsed="0.004253"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.033196" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.032806" elapsed="0.000485"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.036332" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.033499" elapsed="0.002905"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.038948" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.036499" elapsed="0.002517"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.036473" elapsed="0.002575"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.042455" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.042502" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.039263" elapsed="0.003262"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.044408" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.042603" elapsed="0.001863"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.042585" elapsed="0.001908"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.044567" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:02.044770" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.044816" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 145 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.027472" elapsed="0.017368"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.047017" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.045412" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.045394" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.047724" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.047244" elapsed="0.000511"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.048409" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.047930" elapsed="0.000507"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.048492" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:02.048693" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.045058" elapsed="0.003662"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.048890" elapsed="0.000445"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.026826" elapsed="0.022576"/>
</kw>
<arg>f22.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:01.981195" elapsed="0.068269"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:01.974013" elapsed="0.075595"/>
</test>
<test id="s1-s3-s2-t123" name="Test Is Flow 23 Deleted" line="314">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.061591" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f23.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.061766" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.061439" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.062437" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2de0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.061958" elapsed="0.000507"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.062912" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.062621" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.063384" level="INFO">${flow_id} = 146</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.063093" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.063835" level="INFO">${flow_priority} = 23</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.063562" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.065117" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.064013" elapsed="0.001136"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.065674" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.065332" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.066193" level="INFO">${flow_id} = 146</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.065871" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.066732" level="INFO">${flow_priority} = 23</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.066405" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.067240" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.066923" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.067772" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.067453" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.068369" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2de0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.068025" elapsed="0.000411"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.061025" elapsed="0.007477"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.069045" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.068655" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.069493" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf23&lt;/flow-name&gt;
    &lt;id&gt;146&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;23&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;23&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.069228" elapsed="0.000330"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.077611" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.077242" elapsed="0.000398"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.082113" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.082311" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=146?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.082421" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.077778" elapsed="0.004670"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.082876" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.082618" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.085152" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.083070" elapsed="0.002136"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.087138" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.085311" elapsed="0.001904"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.085283" elapsed="0.001963"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.087423" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.087660" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.087518" elapsed="0.000195"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.087502" elapsed="0.000236"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.087772" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:02.089479" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.089525" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.076913" elapsed="0.012635"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.091755" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.090144" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.090126" elapsed="0.001698"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.092392" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.091972" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.092959" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.092581" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.093036" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.093216" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.089765" elapsed="0.003479"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.093418" elapsed="0.000397"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.076225" elapsed="0.017654"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.102063" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.101754" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.106078" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.106201" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.106365" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.102225" elapsed="0.004170"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.106827" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.106562" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.109066" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.107016" elapsed="0.002103"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.110963" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.109192" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.109172" elapsed="0.001866"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.114112" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.114163" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.111180" elapsed="0.003007"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.116062" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.114285" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.114264" elapsed="0.001884"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.116183" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:02.116405" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.116452" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 146 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.101368" elapsed="0.015108"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.118745" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.117040" elapsed="0.001752"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.117021" elapsed="0.001793"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.119394" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.118968" elapsed="0.000453"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.119998" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.119635" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.120075" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.120272" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.116700" elapsed="0.003599"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.120459" elapsed="0.000400"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.100666" elapsed="0.020257"/>
</kw>
<arg>f23.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.057373" elapsed="0.063609"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.050000" elapsed="0.071121"/>
</test>
<test id="s1-s3-s2-t124" name="Test Is Flow 24 Deleted" line="316">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.132868" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f24.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.133075" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.132699" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.133878" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302a70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.133304" elapsed="0.000603"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.134387" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.134070" elapsed="0.000346"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.134841" level="INFO">${flow_id} = 147</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.134571" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.135326" level="INFO">${flow_priority} = 24</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.135035" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.136154" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.135505" elapsed="0.000680"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.136737" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.136379" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.137273" level="INFO">${flow_id} = 147</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.136934" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.137816" level="INFO">${flow_priority} = 24</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.137487" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.138341" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.138009" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.138861" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.138540" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.139482" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e302a70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.139128" elapsed="0.000396"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.132332" elapsed="0.007256"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.140174" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.139753" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.140708" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf24&lt;/flow-name&gt;
    &lt;id&gt;147&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;24&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;24&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                        &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-id&gt;2591&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.140455" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.149031" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.148663" elapsed="0.000399"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.155937" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.156156" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=147?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.156371" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.149209" elapsed="0.007200"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.157037" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.156657" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.160559" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.157330" elapsed="0.003302"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.163311" elapsed="0.000061"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.160758" elapsed="0.002675"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.160719" elapsed="0.002753"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.163684" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.164003" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.163814" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.163790" elapsed="0.000319"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.164154" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:02.166544" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.166607" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.148311" elapsed="0.018328"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.168900" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.167288" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.167270" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.169577" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.169129" elapsed="0.000476"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.170142" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.169768" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.170218" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:38:02.170424" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.166921" elapsed="0.003528"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.170613" elapsed="0.000417"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.147602" elapsed="0.023562"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.179243" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.178900" elapsed="0.000387"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.184597" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.184797" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.184961" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.179433" elapsed="0.005565"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.185699" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.185307" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.188793" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.185937" elapsed="0.002929"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.190943" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.188999" elapsed="0.002008"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.188956" elapsed="0.002079"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.193916" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.193963" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.191212" elapsed="0.002774"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.195890" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.194068" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.194049" elapsed="0.001924"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.196008" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:38:02.196260" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.196308" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 147 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.178497" elapsed="0.017834"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.198970" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.196998" elapsed="0.002021"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.196980" elapsed="0.002063"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.199692" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.199208" elapsed="0.000511"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.200241" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.199885" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.200332" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:02.200513" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.196631" elapsed="0.003908"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.200698" elapsed="0.000420"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.177750" elapsed="0.023432"/>
</kw>
<arg>f24.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.128589" elapsed="0.072671"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.121530" elapsed="0.079958"/>
</test>
<test id="s1-s3-s2-t125" name="Test Is Flow 25 Deleted" line="318">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.212683" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f25.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.212861" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.212529" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.213539" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.213053" elapsed="0.000515"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.214011" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.213724" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.214552" level="INFO">${flow_id} = 148</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.214193" elapsed="0.000387"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.215010" level="INFO">${flow_priority} = 25</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.214735" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.216008" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.215189" elapsed="0.000850"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.216561" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.216204" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.217085" level="INFO">${flow_id} = 148</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.216764" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.217620" level="INFO">${flow_priority} = 25</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.217294" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.218127" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;25...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.217814" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.218677" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.218341" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.219195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e301b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.218876" elapsed="0.000361"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.212170" elapsed="0.007141"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.219853" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
 ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.219461" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.220299" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf25&lt;/flow-name&gt;
    &lt;id&gt;148&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;25&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;25&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ipv6-label&gt;
            &lt;ipv6-flabel&gt;33&lt;/ipv6-flabel&gt;
        &lt;/ipv6-label&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;6&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;3&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.220036" elapsed="0.000327"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.228467" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.228129" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.233853" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.233996" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=148?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.234110" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.228627" elapsed="0.005510"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.234588" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.234327" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.236826" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.234808" elapsed="0.002072"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.238741" elapsed="0.000065"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.236959" elapsed="0.001891"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.236936" elapsed="0.001940"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.239023" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.239266" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.239115" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.239098" elapsed="0.000246"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.239376" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:02.241559" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.241623" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.227802" elapsed="0.013852"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.244792" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.242450" elapsed="0.002407"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.242426" elapsed="0.002463"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.245701" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.245101" elapsed="0.000637"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.246481" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.245965" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.246586" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:02.246836" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.241959" elapsed="0.004912"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.247131" elapsed="0.000619"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.227204" elapsed="0.020615"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.255655" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.255340" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.260116" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.260408" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.260523" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.255820" elapsed="0.004730"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.261061" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.260761" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.263702" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.261270" elapsed="0.002508"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.266409" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.263894" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.263858" elapsed="0.002666"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.270730" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.270796" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.266727" elapsed="0.004102"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.272927" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.270939" elapsed="0.002045"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.270913" elapsed="0.002097"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.273044" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:38:02.273281" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.273328" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 148 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.254907" elapsed="0.018444"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.275590" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.273967" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.273949" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.276265" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.275821" elapsed="0.000473"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.276814" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.276459" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.276891" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:02.277073" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.273612" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.277275" elapsed="0.000411"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.254267" elapsed="0.023487"/>
</kw>
<arg>f25.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.208829" elapsed="0.068988"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.201716" elapsed="0.076246"/>
</test>
<test id="s1-s3-s2-t126" name="Test Is Flow 31 Deleted" line="320">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.289656" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f31.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.289877" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.289447" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.290655" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d58a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.290114" elapsed="0.000570"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.291232" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.290843" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.291750" level="INFO">${flow_id} = 154</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.291435" elapsed="0.000345"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.292222" level="INFO">${flow_priority} = 31</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.291939" elapsed="0.000328"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.296109" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.292426" elapsed="0.003718"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.296746" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.296353" elapsed="0.000437"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.297282" level="INFO">${flow_id} = 154</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.296944" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.297810" level="INFO">${flow_priority} = 31</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.297478" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.298335" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.298004" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.298854" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.298534" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.299398" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d58a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.299049" elapsed="0.000391"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.289047" elapsed="0.010461"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.300121" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.299682" elapsed="0.000469"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.300631" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;154&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;31&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf31&lt;/flow-name&gt;
    &lt;priority&gt;31&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.300357" elapsed="0.000338"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.308935" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.308589" elapsed="0.000375"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.314123" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.314343" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=154?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.314487" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.309105" elapsed="0.005486"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.315285" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.314836" elapsed="0.000523"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.318750" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.315582" elapsed="0.003243"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.321680" elapsed="0.000055"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.318953" elapsed="0.002842"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.318914" elapsed="0.002919"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.322056" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.322417" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.322192" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.322167" elapsed="0.000365"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.322580" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:38:02.325019" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.325065" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.308225" elapsed="0.016863"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.327362" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.325738" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.325717" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.328048" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.327590" elapsed="0.000486"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.328611" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.328241" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.328687" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:38:02.328877" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.325375" elapsed="0.003527"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.329064" elapsed="0.000441"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.307504" elapsed="0.022071"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.337688" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.337340" elapsed="0.000378"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.343175" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.343612" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.343949" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.337861" elapsed="0.006179"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.345214" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.344741" elapsed="0.000573"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.349266" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.345535" elapsed="0.003976"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.352718" elapsed="0.000086"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.349645" elapsed="0.003285"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.349606" elapsed="0.003388"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.360334" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.360448" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.353568" elapsed="0.007073"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.362669" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.360810" elapsed="0.001916"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.360785" elapsed="0.001967"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.362787" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:38:02.363033" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.363078" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 154 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.336917" elapsed="0.026184"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.365494" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.363810" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.363792" elapsed="0.001773"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.366262" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.365731" elapsed="0.000561"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.366817" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.366458" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.366893" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.367077" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.363426" elapsed="0.003677"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.367294" elapsed="0.000439"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.336202" elapsed="0.031605"/>
</kw>
<arg>f31.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.285474" elapsed="0.082404"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.278317" elapsed="0.089713"/>
</test>
<test id="s1-s3-s2-t127" name="Test Is Flow 36 Deleted" line="322">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.379348" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f36.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.379543" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.379175" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.380169" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.379730" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.380659" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.380369" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.381145" level="INFO">${flow_id} = 159</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.380871" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.381613" level="INFO">${flow_priority} = 36</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.381340" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.382653" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.381793" elapsed="0.000891"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.383192" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.382848" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.383863" level="INFO">${flow_id} = 159</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.383518" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.384416" level="INFO">${flow_priority} = 36</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.384069" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.384948" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.384610" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.385485" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.385145" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.386001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e300540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.385681" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.378833" elapsed="0.007264"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.386650" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.386263" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.387079" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;159&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;36&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf36&lt;/flow-name&gt;
    &lt;priority&gt;36&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.386837" elapsed="0.000299"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.394972" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.394650" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.400539" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.400737" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=159?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.400868" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.395132" elapsed="0.005762"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.401510" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.401158" elapsed="0.000400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.403830" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.401705" elapsed="0.002177"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.405830" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.403972" elapsed="0.001946"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.403945" elapsed="0.002000"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.406096" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.406354" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.406188" elapsed="0.000287"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.406171" elapsed="0.000331"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.406535" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:02.408210" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.408272" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.394321" elapsed="0.013976"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.410554" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.408913" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.408895" elapsed="0.001729"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.411195" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.410781" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.411761" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.411406" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.411837" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.412019" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.408558" elapsed="0.003487"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.412205" elapsed="0.000433"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.393728" elapsed="0.018979"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.420622" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.420309" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.425394" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.425565" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.425699" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.420785" elapsed="0.004942"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.426295" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.425955" elapsed="0.000388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.428970" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.426489" elapsed="0.002534"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.430993" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.429108" elapsed="0.001942"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.429080" elapsed="0.001994"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.433951" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.433998" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.431224" elapsed="0.002798"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.435904" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.434102" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.434082" elapsed="0.001904"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.436021" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:38:02.436238" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.436298" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 159 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.419903" elapsed="0.016419"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.438705" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.437016" elapsed="0.001737"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.436998" elapsed="0.001778"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.439372" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.438935" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.439923" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.439567" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.440001" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.440183" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.436660" elapsed="0.003549"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.440389" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.419265" elapsed="0.021600"/>
</kw>
<arg>f36.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.375509" elapsed="0.065419"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.368427" elapsed="0.072652"/>
</test>
<test id="s1-s3-s2-t128" name="Test Is Flow 38 Deleted" line="324">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.452554" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f38.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.452849" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.452405" elapsed="0.000474"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.453496" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d6de0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.453040" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.454020" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.453684" elapsed="0.000365"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.454497" level="INFO">${flow_id} = 161</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.454203" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.454948" level="INFO">${flow_priority} = 38</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.454677" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.455986" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.455126" elapsed="0.000891"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.456552" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.456179" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.457094" level="INFO">${flow_id} = 161</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.456757" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.457644" level="INFO">${flow_priority} = 38</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.457310" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.458179" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.457857" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.458724" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.458398" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.459262" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d6de0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.458923" elapsed="0.000425"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.452050" elapsed="0.007355"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.459956" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.459564" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.460405" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;161&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;38&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf38&lt;/flow-name&gt;
    &lt;priority&gt;38&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.460139" elapsed="0.000325"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.468512" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.468179" elapsed="0.000361"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.473490" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.473667" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=161?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.473796" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.468673" elapsed="0.005149"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.474411" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.474057" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.476737" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.474605" elapsed="0.002183"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.478735" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.476882" elapsed="0.001945"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.476854" elapsed="0.002001"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.479006" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.479238" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.479098" elapsed="0.000209"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.479081" elapsed="0.000250"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.479364" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:02.481046" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.481092" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.467854" elapsed="0.013261"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.483377" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.481731" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.481712" elapsed="0.001735"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.484014" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.483601" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.484637" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.484276" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.484714" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:38:02.484899" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.481382" elapsed="0.003543"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.485085" elapsed="0.000430"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.467282" elapsed="0.018300"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.493503" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.493172" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.498000" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.498146" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.498292" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.493664" elapsed="0.004656"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.499063" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.498563" elapsed="0.000546"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.501636" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.499273" elapsed="0.002415"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.503852" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.501769" elapsed="0.002143"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.501744" elapsed="0.002192"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.506749" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.506796" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.504081" elapsed="0.002738"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.508654" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.506898" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.506879" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.508769" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:02.508979" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.509023" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 161 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.492785" elapsed="0.016260"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.511342" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.509658" elapsed="0.001730"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.509640" elapsed="0.001770"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.511973" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.511564" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.512538" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.512165" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.512613" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.512798" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.509309" elapsed="0.003515"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.513064" elapsed="0.000429"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.492131" elapsed="0.021428"/>
</kw>
<arg>f38.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.448638" elapsed="0.064985"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.441454" elapsed="0.072313"/>
</test>
<test id="s1-s3-s2-t129" name="Test Is Flow 43 Deleted" line="326">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.525029" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f43.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.525213" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.524881" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.525876" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb330&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.525426" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.526368" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.526060" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.526855" level="INFO">${flow_id} = 166</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.526549" elapsed="0.000336"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.527332" level="INFO">${flow_priority} = 43</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.527039" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.528407" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.527511" elapsed="0.000927"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.528950" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.528600" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.529495" level="INFO">${flow_id} = 166</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.529146" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.530030" level="INFO">${flow_priority} = 43</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.529692" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.530560" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.530225" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.531101" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.530758" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.531647" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb330&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.531321" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.524544" elapsed="0.007201"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.532301" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.531896" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.532725" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;166&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;icmpv6-match&gt;
            &lt;icmpv6-type&gt;135&lt;/icmpv6-type&gt;
            &lt;icmpv6-code&gt;1&lt;/icmpv6-code&gt;
        &lt;/icmpv6-match&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;58&lt;/ip-protocol&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;43&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf43&lt;/flow-name&gt;
    &lt;priority&gt;43&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.532483" elapsed="0.000348"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.540696" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.540386" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.545456" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.545636" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=166?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.545758" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.540853" elapsed="0.004932"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.546340" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.546005" elapsed="0.000382"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.548660" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.546532" elapsed="0.002180"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.550590" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.548802" elapsed="0.001871"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.548773" elapsed="0.001927"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.550854" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.551083" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.550945" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.550929" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.551212" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:02.552897" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.552943" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.540047" elapsed="0.012919"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.555241" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.553588" elapsed="0.001714"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.553570" elapsed="0.001754"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.555889" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.555479" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.556447" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.556078" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.556523" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:02.556703" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.553220" elapsed="0.003508"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.556888" elapsed="0.000426"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.539472" elapsed="0.017910"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.565480" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.565146" elapsed="0.000361"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.569961" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.570193" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.570343" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.565640" elapsed="0.004730"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.570897" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.570582" elapsed="0.000362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.573518" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.571090" elapsed="0.002480"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.575464" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.573653" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.573626" elapsed="0.001918"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.578325" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.578372" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.575692" elapsed="0.002703"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.580266" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.578473" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.578454" elapsed="0.001895"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.580383" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:02.580592" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.580636" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 166 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.564762" elapsed="0.015896"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.582888" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.581275" elapsed="0.001658"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.581241" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.583538" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.583110" elapsed="0.000476"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.584102" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.583751" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.584177" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.584375" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.580907" elapsed="0.003494"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.584560" elapsed="0.000396"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.564105" elapsed="0.020914"/>
</kw>
<arg>f43.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.521197" elapsed="0.063883"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.514117" elapsed="0.071097"/>
</test>
<test id="s1-s3-s2-t130" name="Test Is Flow 45 Deleted" line="328">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.596410" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f45.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.596577" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.596245" elapsed="0.000361"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.597177" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3552b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.596763" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.597712" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.597378" elapsed="0.000361"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.598167" level="INFO">${flow_id} = 168</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.597894" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.598641" level="INFO">${flow_priority} = 45</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.598364" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.599833" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.598822" elapsed="0.001042"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.600413" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.600026" elapsed="0.000432"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.600939" level="INFO">${flow_id} = 168</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.600615" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.601483" level="INFO">${flow_priority} = 45</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.601135" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.602004" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.601680" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.602540" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.602202" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.603056" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e3552b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.602737" elapsed="0.000360"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.595905" elapsed="0.007247"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.603703" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.603318" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.604168" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;output-action&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;/output-action&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;168&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;1180719718&lt;/metadata&gt;
            &lt;metadata-mask&gt;0xfff0ffff&lt;/metadata-mask&gt;
        &lt;/metadata&gt;
    &lt;/match&gt;
    &lt;cookie&gt;45&lt;/cookie&gt;
    &lt;flow-name&gt;FooXf45&lt;/flow-name&gt;
    &lt;priority&gt;45&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.603918" elapsed="0.000309"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.612080" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.611728" elapsed="0.000379"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.616893" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.617052" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=168?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.617167" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.612239" elapsed="0.004954"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.617793" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.617479" elapsed="0.000360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.620093" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.617985" elapsed="0.002163"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.622031" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.620235" elapsed="0.001878"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.620208" elapsed="0.001932"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.622307" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.622540" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.622400" elapsed="0.000192"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.622383" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.622649" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:38:02.624343" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.624389" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.611408" elapsed="0.013004"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.626625" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.624998" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.624979" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.627269" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.626846" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.627812" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.627461" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.627886" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.628066" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.624651" elapsed="0.003440"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.628299" elapsed="0.000404"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.610828" elapsed="0.017940"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.636689" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.636377" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.642056" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.642232" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.642398" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.636850" elapsed="0.005575"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.643019" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.642676" elapsed="0.000390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.645719" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.643212" elapsed="0.002662"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.647759" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.645964" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.645936" elapsed="0.001903"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.650607" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.650654" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.647983" elapsed="0.002694"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.652489" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.650754" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.650736" elapsed="0.001869"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.652639" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:02.652855" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.652898" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 168 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.635951" elapsed="0.016970"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.655158" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.653549" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.653531" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.655815" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.655399" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.656383" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.656006" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.656459" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.656660" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.653180" elapsed="0.003505"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.656846" elapsed="0.000423"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.635321" elapsed="0.022014"/>
</kw>
<arg>f45.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.592563" elapsed="0.064837"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.585571" elapsed="0.071974"/>
</test>
<test id="s1-s3-s2-t131" name="Test Is Flow 101 Deleted" line="330">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.668780" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f101.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.668950" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.668601" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.669600" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2890&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.669136" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.670069" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.669784" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.670537" level="INFO">${flow_id} = 224</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.670265" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.670986" level="INFO">${flow_priority} = 101</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.670714" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.672102" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.671165" elapsed="0.000968"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.672691" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.672346" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.673301" level="INFO">${flow_id} = 224</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.672954" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.673825" level="INFO">${flow_priority} = 101</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.673499" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.674350" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.674018" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.674867" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.674548" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.675400" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf2890&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.675063" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.668260" elapsed="0.007235"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.676024" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.675644" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.676470" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf101&lt;/flow-name&gt;
    &lt;id&gt;224&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;101&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;101&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.676209" elapsed="0.000325"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.684385" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.684056" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.689098" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.689282" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=224?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.689410" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.684544" elapsed="0.004892"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.689959" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.689645" elapsed="0.000363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.692277" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.690154" elapsed="0.002176"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.694232" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.692416" elapsed="0.001963"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.692389" elapsed="0.002020"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.694560" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.694790" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.694654" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.694637" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.694897" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:38:02.696572" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.696618" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.683738" elapsed="0.012903"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.698872" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.697263" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.697230" elapsed="0.001711"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.699520" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.699091" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.700071" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.699711" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.700146" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.700344" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.696884" elapsed="0.003486"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.700530" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.683162" elapsed="0.017837"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.708900" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.708593" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.713539" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.713697" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.713831" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.709059" elapsed="0.004798"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.714428" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.714080" elapsed="0.000394"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.716717" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.714620" elapsed="0.002150"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.718701" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.716855" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.716828" elapsed="0.001952"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.721794" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.721841" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.718927" elapsed="0.002938"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.723710" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.721942" elapsed="0.001824"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.721924" elapsed="0.001866"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.723885" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:38:02.724102" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.724147" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 224 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.708187" elapsed="0.015982"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.726450" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.724806" elapsed="0.001690"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.724787" elapsed="0.001732"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.727085" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.726673" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.727647" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.727293" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.727724" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:02.727909" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.724448" elapsed="0.003486"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.728094" elapsed="0.000425"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.707553" elapsed="0.021029"/>
</kw>
<arg>f101.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.664947" elapsed="0.063696"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.657782" elapsed="0.071005"/>
</test>
<test id="s1-s3-s2-t132" name="Test Is Flow 102 Deleted" line="332">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.739818" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f102.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.739988" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.739664" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.740633" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2facf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.740172" elapsed="0.000489"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.741103" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.740816" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.741571" level="INFO">${flow_id} = 225</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.741300" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.742057" level="INFO">${flow_priority} = 102</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.741783" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.745992" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.742234" elapsed="0.003790"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.746548" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.746186" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.747066" level="INFO">${flow_id} = 225</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.746744" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.747603" level="INFO">${flow_priority} = 102</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.747275" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.748109" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.747794" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.748642" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.748323" elapsed="0.000449"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.749272" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2facf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.748925" elapsed="0.000391"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.739326" elapsed="0.010044"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.749929" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.749519" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.750370" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf102&lt;/flow-name&gt;
    &lt;id&gt;225&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;102&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;102&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.750110" elapsed="0.000322"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.758303" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.757974" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.763080" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.763279" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=225?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.763416" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.758462" elapsed="0.004980"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.763960" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.763654" elapsed="0.000355"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.766314" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.764154" elapsed="0.002212"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.768240" elapsed="0.000055"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.766460" elapsed="0.001882"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.766430" elapsed="0.001940"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.768521" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.768753" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.768614" elapsed="0.000193"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.768597" elapsed="0.000234"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.768864" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:38:02.770707" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.770752" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.757605" elapsed="0.013170"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.773048" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.771451" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.771433" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.773701" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.773287" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.774294" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.773892" elapsed="0.000429"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.774370" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:02.774551" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.771083" elapsed="0.003493"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.774734" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.756987" elapsed="0.018220"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.783144" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.782834" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.787803" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.787948" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.788070" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.783322" elapsed="0.004775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.788642" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.788333" elapsed="0.000356"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.791302" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.788833" elapsed="0.002523"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.793274" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.791437" elapsed="0.001893"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.791412" elapsed="0.001942"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.796342" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.796389" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.793501" elapsed="0.002912"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.798343" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.796491" elapsed="0.001911"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.796472" elapsed="0.001957"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.798462" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:02.798676" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.798720" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 225 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.782447" elapsed="0.016296"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.800997" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.799351" elapsed="0.001693"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.799333" elapsed="0.001734"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.801648" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.801220" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.802325" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.801944" elapsed="0.000419"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.802413" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:02.802596" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.798986" elapsed="0.003635"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.802782" elapsed="0.000407"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.781759" elapsed="0.021514"/>
</kw>
<arg>f102.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.735999" elapsed="0.067337"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.729016" elapsed="0.074469"/>
</test>
<test id="s1-s3-s2-t133" name="Test Is Flow 103 Deleted" line="334">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.814932" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f103.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.815101" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.814779" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.815776" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2bbf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.815313" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.816269" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.815961" elapsed="0.000339"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.816730" level="INFO">${flow_id} = 226</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.816454" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.817183" level="INFO">${flow_priority} = 103</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.816910" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.818355" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.817382" elapsed="0.001005"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.818923" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.818572" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.819467" level="INFO">${flow_id} = 226</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.819122" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.819995" level="INFO">${flow_priority} = 103</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.819666" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.820531" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.820190" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.821050" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.820730" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.821601" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd2bbf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.821274" elapsed="0.000369"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.814406" elapsed="0.007292"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.822242" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.821854" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.822777" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf103&lt;/flow-name&gt;
    &lt;id&gt;226&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;103&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;103&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;2&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;25364&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.822487" elapsed="0.000354"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.830871" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.830527" elapsed="0.000372"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.835707" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.835881" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=226?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.836001" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.831032" elapsed="0.004994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.836584" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.836269" elapsed="0.000362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.838972" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.836777" elapsed="0.002248"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.840930" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.839118" elapsed="0.001905"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.839088" elapsed="0.001962"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.841203" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.841456" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.841315" elapsed="0.000193"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.841297" elapsed="0.000236"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.841566" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:38:02.843275" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.843322" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.830180" elapsed="0.013166"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.845582" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.843947" elapsed="0.001681"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.843929" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.846225" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.845808" elapsed="0.000461"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.846785" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.846434" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.846955" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:02.847141" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.843596" elapsed="0.003570"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.847344" elapsed="0.000412"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.829609" elapsed="0.018213"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.855952" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.855643" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.860613" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.860763" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.861077" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.856114" elapsed="0.004990"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.861626" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.861324" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.863932" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.861821" elapsed="0.002161"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.865856" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.864062" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.864038" elapsed="0.001897"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.868911" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.868961" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.866080" elapsed="0.002904"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.870836" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.869061" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.869043" elapsed="0.001874"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.870951" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:02.871159" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.871234" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 226 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.855235" elapsed="0.016037"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.873497" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.871869" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.871851" elapsed="0.001715"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.874129" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.873721" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.874694" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.874340" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.874769" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.874949" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.871519" elapsed="0.003455"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.875322" elapsed="0.000481"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.854565" elapsed="0.021304"/>
</kw>
<arg>f103.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.810984" elapsed="0.064947"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.803830" elapsed="0.072248"/>
</test>
<test id="s1-s3-s2-t134" name="Test Is Flow 104 Deleted" line="336">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.887418" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f104.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.887592" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.887225" elapsed="0.000396"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.888218" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0040&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.887782" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.888710" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.888422" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.889168" level="INFO">${flow_id} = 227</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.888898" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.889635" level="INFO">${flow_priority} = 104</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.889363" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.890568" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.889814" elapsed="0.000785"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.891099" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.890761" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.891669" level="INFO">${flow_id} = 227</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.891315" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.892201" level="INFO">${flow_priority} = 104</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.891873" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.892732" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.892414" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.893268" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.892930" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.893792" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d0040&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.893469" elapsed="0.000365"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.886884" elapsed="0.007005"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.894446" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.894042" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.894879" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf104&lt;/flow-name&gt;
    &lt;id&gt;227&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;104&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;104&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.894631" elapsed="0.000346"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.902820" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.902509" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.907286" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.907429" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=227?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.907558" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.902977" elapsed="0.004608"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.908100" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.907807" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.910564" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.908310" elapsed="0.002306"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.912545" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.910700" elapsed="0.001928"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.910674" elapsed="0.001980"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.912806" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.913033" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.912897" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.912881" elapsed="0.000228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.913140" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:02.914826" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.914872" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.902171" elapsed="0.012724"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.917154" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.915513" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.915495" elapsed="0.001729"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.917817" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.917396" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.918380" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.918008" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.918456" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:02.918637" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.915147" elapsed="0.003515"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.918821" elapsed="0.000406"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.901607" elapsed="0.017703"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.927260" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.926930" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.932700" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.933025" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.933175" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.927425" elapsed="0.005777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.933841" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.933483" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.936288" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.934035" elapsed="0.002306"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.939009" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.936442" elapsed="0.002653"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.936407" elapsed="0.002726"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.944578" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:02.944648" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:02.939377" elapsed="0.005306"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.946845" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.944785" elapsed="0.002118"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.944764" elapsed="0.002165"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:02.946964" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:38:02.947193" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:02.947241" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 227 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.926544" elapsed="0.020735"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.949564" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.947933" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.947916" elapsed="0.001717"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.950260" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.949795" elapsed="0.000494"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.950802" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.950451" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.950877" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:02.951057" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.947565" elapsed="0.003517"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.951260" elapsed="0.000414"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.925887" elapsed="0.025851"/>
</kw>
<arg>f104.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.883357" elapsed="0.068445"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.876330" elapsed="0.075617"/>
</test>
<test id="s1-s3-s2-t135" name="Test Is Flow 105 Deleted" line="338">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:02.963218" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f105.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:02.963430" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:02.963056" elapsed="0.000404"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:02.964092" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:02.963624" elapsed="0.000496"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.964701" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.964299" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.965160" level="INFO">${flow_id} = 228</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.964887" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:02.965633" level="INFO">${flow_priority} = 105</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:02.965357" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:02.966607" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:02.965813" elapsed="0.000825"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.967153" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.966807" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.967693" level="INFO">${flow_id} = 228</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.967368" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.968221" level="INFO">${flow_priority} = 105</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.967893" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.968783" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.968462" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.969315" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.968979" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.969835" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0cb560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:02.969514" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:02.962706" elapsed="0.007228"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.970504" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.970087" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.970942" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf105&lt;/flow-name&gt;
    &lt;id&gt;228&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;105&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;105&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A000::/84&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.970690" elapsed="0.000314"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.979210" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:02.978879" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:02.984674" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:02.984904" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=228?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:02.985165" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:02.979390" elapsed="0.005803"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.985949" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.985502" elapsed="0.000516"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.989559" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:02.986239" elapsed="0.003398"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:02.992550" elapsed="0.000065"/>
</return>
<status status="PASS" start="2026-05-25T00:38:02.989783" elapsed="0.002955"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.989732" elapsed="0.003053"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:02.993021" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:02.993417" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:02.993172" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:02.993139" elapsed="0.000397"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.993584" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:02.995352" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:02.995399" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:02.978546" elapsed="0.016877"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:02.997752" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:02.996094" elapsed="0.001718"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:02.996077" elapsed="0.001758"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.998466" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.998000" elapsed="0.000494"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:02.999018" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:02.998659" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:02.999094" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:02.999296" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:02.995717" elapsed="0.003607"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:02.999495" elapsed="0.000425"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:02.977923" elapsed="0.022065"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.008052" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.007730" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.013468" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.013683" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.013852" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.008220" elapsed="0.005662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.014568" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.014161" elapsed="0.000455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.017355" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.014764" elapsed="0.002733"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.020329" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.017596" elapsed="0.002818"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.017563" elapsed="0.002887"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.025007" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.025138" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.020675" elapsed="0.004500"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.027221" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.025318" elapsed="0.001977"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.025287" elapsed="0.002034"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.027355" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:03.027581" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.027625" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 228 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.007335" elapsed="0.020313"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.029931" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.028302" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.028282" elapsed="0.001724"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.030638" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.030168" elapsed="0.000498"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.031189" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.030835" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.031283" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:03.031469" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.027922" elapsed="0.003572"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.031653" elapsed="0.000422"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.006666" elapsed="0.025476"/>
</kw>
<arg>f105.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:02.959182" elapsed="0.073024"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:02.952216" elapsed="0.080159"/>
</test>
<test id="s1-s3-s2-t136" name="Test Is Flow 106 Deleted" line="340">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.043710" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f106.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.043925" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.043525" elapsed="0.000431"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.044691" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.044148" elapsed="0.000573"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.045167" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.044882" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.045667" level="INFO">${flow_id} = 229</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.045390" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.046116" level="INFO">${flow_priority} = 106</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.045846" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.047499" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.046315" elapsed="0.001216"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.048065" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.047703" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.048701" level="INFO">${flow_id} = 229</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.048365" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.049231" level="INFO">${flow_priority} = 106</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.048899" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.049845" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.049516" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.050388" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.050048" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.050919" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.050590" elapsed="0.000371"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.043134" elapsed="0.007892"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.051632" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.051186" elapsed="0.000479"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.052070" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf106&lt;/flow-name&gt;
    &lt;id&gt;229&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;106&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;106&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDCD:A987:6000::/100&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;45&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;2&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;20345&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;80&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.051820" elapsed="0.000315"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.064892" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.063970" elapsed="0.001002"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.072805" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.072978" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=229?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.073089" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.065342" elapsed="0.007772"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.073586" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.073316" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.075917" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.073802" elapsed="0.002167"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.077901" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.076063" elapsed="0.002013"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.076032" elapsed="0.002074"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.078277" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.078513" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.078375" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.078357" elapsed="0.000233"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.078622" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:03.080921" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.080985" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.063100" elapsed="0.017917"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.084132" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.081858" elapsed="0.002340"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.081833" elapsed="0.002397"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.085054" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.084469" elapsed="0.000623"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.085889" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.085346" elapsed="0.000580"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.085996" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:03.086271" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.081360" elapsed="0.004949"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.086692" elapsed="0.000443"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.061200" elapsed="0.026004"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.095225" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.094914" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.100280" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.100401" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.100511" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.095403" elapsed="0.005134"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.100966" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.100700" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.103427" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.101159" elapsed="0.002340"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.106108" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.103596" elapsed="0.002582"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.103569" elapsed="0.002642"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.110406" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.110471" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.106430" elapsed="0.004077"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.112578" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.110618" elapsed="0.002015"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.110592" elapsed="0.002065"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.112740" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:03.112946" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.112990" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 229 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.094518" elapsed="0.018494"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.115207" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.113589" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.113572" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.115855" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.115441" elapsed="0.000599"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.116580" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.116205" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.116657" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.116842" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.113237" elapsed="0.003631"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.117026" elapsed="0.000409"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.093825" elapsed="0.023673"/>
</kw>
<arg>f106.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.039746" elapsed="0.077812"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.032614" elapsed="0.085090"/>
</test>
<test id="s1-s3-s2-t137" name="Test Is Flow 107 Deleted" line="342">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.128942" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f107.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.129111" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.128794" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.129775" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.129316" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.130264" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.129958" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.130746" level="INFO">${flow_id} = 230</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.130473" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.131195" level="INFO">${flow_priority} = 107</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.130922" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.132372" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.131390" elapsed="0.001014"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.132906" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.132566" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.133452" level="INFO">${flow_id} = 230</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.133105" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.133976" level="INFO">${flow_priority} = 107</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.133649" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.134536" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.134168" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.135066" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.134744" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.135645" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2f9350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.135320" elapsed="0.000368"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.128461" elapsed="0.007283"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.136295" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.135894" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.136719" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf107&lt;/flow-name&gt;
    &lt;id&gt;230&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;107&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;107&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.136478" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.144583" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.144280" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.149088" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.149199" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=230?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.149330" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.144741" elapsed="0.004617"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.149786" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.149527" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.152159" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.149973" elapsed="0.002258"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.154863" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.152361" elapsed="0.002598"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.152331" elapsed="0.002662"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.155191" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.155532" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.155345" elapsed="0.000259"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.155321" elapsed="0.000316"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.155682" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:03.157997" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.158060" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.143945" elapsed="0.014147"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.160821" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.158973" elapsed="0.001895"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.158947" elapsed="0.001943"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.161458" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.161037" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.161995" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.161646" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.162072" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.162270" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.158459" elapsed="0.003838"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.162455" elapsed="0.000405"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.143382" elapsed="0.019542"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.173083" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.172782" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.176912" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.177021" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.177125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.173242" elapsed="0.003915"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.177619" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.177352" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.179829" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.177812" elapsed="0.002068"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.181718" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.179950" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.179930" elapsed="0.001861"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.184985" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.185051" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.181929" elapsed="0.003154"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.187640" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.185191" elapsed="0.002526"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.185165" elapsed="0.002590"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.187805" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:03.188076" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.188137" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 230 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.172402" elapsed="0.015778"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.191363" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.189077" elapsed="0.002351"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.189052" elapsed="0.002407"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.192265" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.191666" elapsed="0.000628"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.192860" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.192501" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.192936" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.193117" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.188607" elapsed="0.004535"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.193319" elapsed="0.000390"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.171759" elapsed="0.022015"/>
</kw>
<arg>f107.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.125095" elapsed="0.068736"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.118058" elapsed="0.075888"/>
</test>
<test id="s1-s3-s2-t138" name="Test Is Flow 108 Deleted" line="344">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.205141" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f108.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.205297" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.205001" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.205957" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c99e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.205518" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.206451" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.206145" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.206908" level="INFO">${flow_id} = 231</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.206634" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.207404" level="INFO">${flow_priority} = 108</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.207083" elapsed="0.000347"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.208369" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.207579" elapsed="0.000821"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.208894" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.208559" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.209432" level="INFO">${flow_id} = 231</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.209091" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.209953" level="INFO">${flow_priority} = 108</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.209626" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.210485" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.210149" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.210999" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.210681" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.211548" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e0c99e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.211198" elapsed="0.000391"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.204663" elapsed="0.006982"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.212180" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.211796" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.212662" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf108&lt;/flow-name&gt;
    &lt;id&gt;231&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;108&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;108&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.212416" elapsed="0.000310"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.220533" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.220212" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.224692" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.224836" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=231?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.224985" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.220689" elapsed="0.004332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.225645" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.225281" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.228988" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.225939" elapsed="0.003121"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.231675" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.229160" elapsed="0.002612"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.229131" elapsed="0.002676"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.232006" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.232355" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.232134" elapsed="0.000296"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.232111" elapsed="0.000353"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.232509" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:03.234819" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.234882" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.219893" elapsed="0.015021"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.237653" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.235750" elapsed="0.001950"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.235724" elapsed="0.001999"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.238284" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.237871" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.238828" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.238477" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.238946" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.239129" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.235208" elapsed="0.003946"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.239329" elapsed="0.000426"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.219306" elapsed="0.020517"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.247739" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.247441" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.251748" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.251898" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.251995" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.247913" elapsed="0.004107"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.252465" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.252184" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.255442" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.252662" elapsed="0.002852"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.258120" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.255609" elapsed="0.002580"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.255583" elapsed="0.002637"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.261804" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.261851" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.258437" elapsed="0.003437"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.263852" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.261950" elapsed="0.001960"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.261932" elapsed="0.002003"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.263985" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:03.264187" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.264231" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 231 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.247046" elapsed="0.017223"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.266454" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.264824" elapsed="0.001676"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.264805" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.267070" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.266672" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.267632" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.267276" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.267709" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.267896" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.264484" elapsed="0.003437"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.268153" elapsed="0.000417"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.246423" elapsed="0.022211"/>
</kw>
<arg>f108.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.201153" elapsed="0.067536"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.194204" elapsed="0.074598"/>
</test>
<test id="s1-s3-s2-t139" name="Test Is Flow 109 Deleted" line="346">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.279829" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f109.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.279964" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.279690" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.280613" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb970&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.280148" elapsed="0.000494"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.281073" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.280795" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.281541" level="INFO">${flow_id} = 232</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.281268" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.281986" level="INFO">${flow_priority} = 109</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.281719" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.282951" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.282168" elapsed="0.000814"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.283495" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.283143" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.284017" level="INFO">${flow_id} = 232</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.283692" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.284618" level="INFO">${flow_priority} = 109</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.284263" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.285264" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;2...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.284874" elapsed="0.000454"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.285838" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.285508" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.286387" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb970&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.286044" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.279358" elapsed="0.007127"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.287045" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.286656" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.287493" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;FooXf109&lt;/flow-name&gt;
    &lt;id&gt;232&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;109&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;109&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.287230" elapsed="0.000367"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.295607" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.295305" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.300912" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.301064" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=232?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.301188" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.295765" elapsed="0.005456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.301814" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.301488" elapsed="0.000388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.304945" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.302073" elapsed="0.002958"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.308585" elapsed="0.000056"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.305148" elapsed="0.003565"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.305116" elapsed="0.003644"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.308952" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.309273" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.309071" elapsed="0.000273"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.309050" elapsed="0.000327"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.309421" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:03.311479" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.311525" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.294955" elapsed="0.016593"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.313756" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.312099" elapsed="0.001703"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.312081" elapsed="0.001743"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.314400" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.313971" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.314941" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.314590" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.315016" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.315196" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.311765" elapsed="0.003455"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.315396" elapsed="0.000385"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.294388" elapsed="0.021455"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.323719" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.323421" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.328543" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.328934" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.329164" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.323876" elapsed="0.005346"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.330324" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.329625" elapsed="0.000851"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.335898" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.330881" elapsed="0.005132"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.338884" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.336170" elapsed="0.002767"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.336126" elapsed="0.002835"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.341857" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.341904" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.339107" elapsed="0.002821"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.343772" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.342007" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.341988" elapsed="0.001868"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.343890" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.344092" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.344137" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 232 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.323024" elapsed="0.021136"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.346411" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.344738" elapsed="0.001733"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.344721" elapsed="0.001773"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.347051" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.346645" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.347616" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.347259" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.347692" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.347873" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.344397" elapsed="0.003501"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.348059" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.322400" elapsed="0.026134"/>
</kw>
<arg>f109.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.276007" elapsed="0.072584"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.269051" elapsed="0.079667"/>
</test>
<test id="s1-s3-s2-t140" name="Test Is Flow 110 Deleted" line="348">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.359872" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f110.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.360059" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.359726" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.360701" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3dd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.360264" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.361284" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.360886" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.361748" level="INFO">${flow_id} = 233</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.361471" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.362199" level="INFO">${flow_priority} = 110</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.361927" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.363286" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.362398" elapsed="0.000921"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.363815" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.363480" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.364354" level="INFO">${flow_id} = 233</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.364011" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.364878" level="INFO">${flow_priority} = 110</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.364549" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.365437" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.365073" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.365961" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.365636" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.366506" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3dd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.366161" elapsed="0.000387"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.359391" elapsed="0.007211"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.367141" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.366753" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.367589" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-vlan-action&lt;/flow-name&gt;
    &lt;id&gt;233&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;110&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;110&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.367344" elapsed="0.000306"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.375541" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.375216" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.379979" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.380115" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=233?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.380284" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.375698" elapsed="0.004614"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.380735" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.380478" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.382963" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.380926" elapsed="0.002088"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.384870" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.383086" elapsed="0.001853"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.383065" elapsed="0.001899"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.385111" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.385359" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.385202" elapsed="0.000210"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.385185" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.385514" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:03.387733" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.387796" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.374896" elapsed="0.012933"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.390896" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.388613" elapsed="0.002348"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.388588" elapsed="0.002405"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.391775" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.391197" elapsed="0.000616"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.392554" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.392039" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.392659" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:03.392908" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.388124" elapsed="0.004818"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.393162" elapsed="0.000612"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.374331" elapsed="0.019509"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.401696" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.401371" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.406108" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.406217" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.406340" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.401856" elapsed="0.004509"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.406961" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.406530" elapsed="0.000478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.409157" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.407153" elapsed="0.002107"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.411328" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.409334" elapsed="0.002064"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.409314" elapsed="0.002116"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.415400" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.415465" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.411628" elapsed="0.003869"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.418062" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.415604" elapsed="0.002542"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.415579" elapsed="0.002602"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.418229" elapsed="0.000061"/>
</return>
<msg time="2026-05-25T00:38:03.418526" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.418587" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 233 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.400977" elapsed="0.017642"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.420848" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.419207" elapsed="0.001686"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.419189" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.421478" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.421061" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.422042" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.421669" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.422117" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.422315" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.418876" elapsed="0.003465"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.422499" elapsed="0.000390"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.400358" elapsed="0.022594"/>
</kw>
<arg>f110.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.356051" elapsed="0.066956"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.349047" elapsed="0.074071"/>
</test>
<test id="s1-s3-s2-t141" name="Test Is Flow 113 Deleted" line="350">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.434233" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f113.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.434383" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.434082" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.434997" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf37e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.434567" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.435478" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.435181" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.435927" level="INFO">${flow_id} = 236</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.435658" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.436389" level="INFO">${flow_priority} = 113</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.436103" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.437510" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.436564" elapsed="0.000977"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.438034" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.437700" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.438638" level="INFO">${flow_id} = 236</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.438310" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.439162" level="INFO">${flow_priority} = 113</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.438835" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.439691" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.439373" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.440211" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.439890" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.440749" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dcf37e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.440429" elapsed="0.000362"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.433715" elapsed="0.007132"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.441402" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.441000" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.441827" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;push-mpls-action&lt;/flow-name&gt;
    &lt;id&gt;236&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;113&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;113&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;20:14:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;19.64.0.0/10&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.192.0/18&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;8&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;25364&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.441585" elapsed="0.000305"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.449699" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.449401" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.455044" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.455161" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=236?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.455282" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.449862" elapsed="0.005447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.455732" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.455478" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.457942" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.455928" elapsed="0.002065"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.460439" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.458100" elapsed="0.002437"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.458078" elapsed="0.002494"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.460777" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.461096" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.460906" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.460883" elapsed="0.000318"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.461268" elapsed="0.000024"/>
</return>
<msg time="2026-05-25T00:38:03.463602" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.463666" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.449066" elapsed="0.014632"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.466792" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.464493" elapsed="0.002346"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.464468" elapsed="0.002394"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.467426" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.467009" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.467965" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.467616" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.468040" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.468220" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.464001" elapsed="0.004260"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.468423" elapsed="0.000386"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.448505" elapsed="0.020368"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.476921" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.476615" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.481699" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.481809" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.481916" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.477077" elapsed="0.004864"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.482394" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.482111" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.484953" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.482585" elapsed="0.002440"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.487636" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.485123" elapsed="0.002582"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.485096" elapsed="0.002640"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.491721" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.491782" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.487933" elapsed="0.003872"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.493633" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.491883" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.491864" elapsed="0.001889"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.493788" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:03.493984" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.494029" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 236 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.476217" elapsed="0.017835"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.496372" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.494618" elapsed="0.001802"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.494600" elapsed="0.001843"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.496992" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.496591" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.497555" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.497182" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.497633" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.497814" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.494282" elapsed="0.003557"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.498000" elapsed="0.000415"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.475598" elapsed="0.022887"/>
</kw>
<arg>f113.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.430430" elapsed="0.068114"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.423397" elapsed="0.075270"/>
</test>
<test id="s1-s3-s2-t142" name="Test Is Flow 201 Deleted" line="352">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.510264" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f201.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.510421" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.510101" elapsed="0.000357"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.511090" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5670&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.510619" elapsed="0.000501"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.511581" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.511293" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.512038" level="INFO">${flow_id} = 324</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.511763" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.512512" level="INFO">${flow_priority} = 201</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.512218" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.513414" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.512690" elapsed="0.000755"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.513942" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.513609" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.514517" level="INFO">${flow_id} = 324</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.514146" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.515331" level="INFO">${flow_priority} = 201</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.514778" elapsed="0.000617"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.516028" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.515610" elapsed="0.000478"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.516739" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.516369" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.517449" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e1d5670&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.516994" elapsed="0.000516"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.509755" elapsed="0.007836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.518328" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.517809" elapsed="0.000558"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.518872" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-src&lt;/flow-name&gt;
    &lt;id&gt;324&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;201&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;201&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.518573" elapsed="0.000382"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.527211" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.526864" elapsed="0.000379"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.532571" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.532724" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=324?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.532889" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.527394" elapsed="0.005533"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.533546" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.533159" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.536984" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.533814" elapsed="0.003244"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.539759" elapsed="0.000053"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.537171" elapsed="0.002700"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.537137" elapsed="0.002770"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.540114" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.540461" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.540265" elapsed="0.000270"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.540220" elapsed="0.000349"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.540615" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:03.542948" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.543012" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.526532" elapsed="0.016511"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.545564" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.543943" elapsed="0.001668"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.543924" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.546196" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.545790" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.546761" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.546406" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.546837" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.547021" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.543527" elapsed="0.003519"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.547208" elapsed="0.000452"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.525899" elapsed="0.021825"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.555601" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.555264" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.561011" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.561123" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.561219" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.555759" elapsed="0.005509"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.561685" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.561431" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.563900" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.561872" elapsed="0.002080"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.565787" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.564020" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.564001" elapsed="0.001858"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.568767" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.568813" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.566000" elapsed="0.002836"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.572773" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.568912" elapsed="0.003917"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.568894" elapsed="0.003960"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.572887" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:03.573081" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.573125" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 324 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.554869" elapsed="0.018278"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.575315" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.573715" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.573697" elapsed="0.001686"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.575948" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.575530" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.576552" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.576177" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.576629" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.576807" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.573379" elapsed="0.003453"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.576990" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.554230" elapsed="0.023228"/>
</kw>
<arg>f201.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.506032" elapsed="0.071482"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.498995" elapsed="0.078649"/>
</test>
<test id="s1-s3-s2-t143" name="Test Is Flow 202 Deleted" line="354">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.588713" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f202.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.588872" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.588564" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.589509" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.589057" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.589978" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.589690" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.590443" level="INFO">${flow_id} = 325</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.590155" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.590894" level="INFO">${flow_priority} = 202</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.590618" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.591788" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.591069" elapsed="0.000750"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.592349" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.592000" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.592873" level="INFO">${flow_id} = 325</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.592545" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.593409" level="INFO">${flow_priority} = 202</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.593068" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.593915" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.593602" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.594446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.594111" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.594963" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.594642" elapsed="0.000363"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.588216" elapsed="0.006843"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.595609" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.595207" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.596106" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tcp-dst&lt;/flow-name&gt;
    &lt;id&gt;325&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;202&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;202&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.595831" elapsed="0.000338"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.604071" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.603768" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.608037" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.608156" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=325?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.608305" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.604273" elapsed="0.004058"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.608754" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.608500" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.610924" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.608947" elapsed="0.002028"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.612844" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.611045" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.611026" elapsed="0.001909"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.613077" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.613320" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.613168" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.613151" elapsed="0.000246"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.613429" elapsed="0.000014"/>
</return>
<msg time="2026-05-25T00:38:03.615222" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.615284" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.603451" elapsed="0.011857"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.617489" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.615855" elapsed="0.001680"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.615837" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.618101" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.617704" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.618660" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.618308" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.618774" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.618957" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.615522" elapsed="0.003460"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.619138" elapsed="0.000408"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.602874" elapsed="0.016735"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.627483" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.627166" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.632422" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.632695" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.632918" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.627640" elapsed="0.005334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.633951" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.633370" elapsed="0.000684"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.639317" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.634414" elapsed="0.005022"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.642030" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.639586" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.639545" elapsed="0.002557"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.644948" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.644994" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.642257" elapsed="0.002760"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.646844" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.645095" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.645077" elapsed="0.001848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.646957" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:03.647149" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.647193" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 325 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.626785" elapsed="0.020430"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.649474" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.647781" elapsed="0.001740"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.647763" elapsed="0.001780"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.650101" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.649692" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.650661" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.650308" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.650737" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.650915" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.647449" elapsed="0.003491"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.651097" elapsed="0.000403"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.626156" elapsed="0.025453"/>
</kw>
<arg>f202.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.584902" elapsed="0.066764"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.577950" elapsed="0.073832"/>
</test>
<test id="s1-s3-s2-t144" name="Test Is Flow 203 Deleted" line="356">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.662928" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f203.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.663063" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.662788" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.663683" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d8f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.663262" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.664145" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.663866" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.664616" level="INFO">${flow_id} = 326</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.664343" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.665147" level="INFO">${flow_priority} = 203</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.664795" elapsed="0.000379"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.666211" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.665346" elapsed="0.000911"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.666752" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.666420" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.667292" level="INFO">${flow_id} = 326</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.666952" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.667819" level="INFO">${flow_priority} = 203</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.667491" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.668344" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.668012" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.668862" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.668542" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.669479" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dc0d8f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.669132" elapsed="0.000389"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.662455" elapsed="0.007121"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.670169" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.669727" elapsed="0.000474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.670615" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-src&lt;/flow-name&gt;
    &lt;id&gt;326&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;203&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;203&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.670372" elapsed="0.000349"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.678672" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.678344" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.687119" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.687283" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=326?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.687385" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.678831" elapsed="0.008579"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.687862" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.687573" elapsed="0.000355"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.691178" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.688141" elapsed="0.003133"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.694058" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.691384" elapsed="0.002780"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.691353" elapsed="0.002848"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.694435" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.694771" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.694571" elapsed="0.000275"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.694546" elapsed="0.000335"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.694928" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:03.697482" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.697549" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.678009" elapsed="0.019574"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.699821" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.698192" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.698174" elapsed="0.001717"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.700471" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.700041" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.701020" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.700663" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.701095" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.701307" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.697855" elapsed="0.003478"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.701492" elapsed="0.000388"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.677442" elapsed="0.024500"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.709798" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.709499" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.714217" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.714393" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.714490" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.709954" elapsed="0.004561"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.714940" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.714677" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.717345" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.715143" elapsed="0.002252"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.720188" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.717496" elapsed="0.002796"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.717476" elapsed="0.002852"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.724609" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.724677" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.720537" elapsed="0.004174"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.726899" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.724824" elapsed="0.002131"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.724797" elapsed="0.002183"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.727013" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:03.727206" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.727266" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 326 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.709088" elapsed="0.018203"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.729629" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.727835" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.727818" elapsed="0.001880"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.730262" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.729845" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.730816" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.730464" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.730891" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.731071" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.727502" elapsed="0.003595"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.731273" elapsed="0.000386"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.708467" elapsed="0.023255"/>
</kw>
<arg>f203.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.659145" elapsed="0.072633"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.652035" elapsed="0.079864"/>
</test>
<test id="s1-s3-s2-t145" name="Test Is Flow 204 Deleted" line="358">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.743030" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f204.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.743173" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.742888" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.743803" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354e50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.743374" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.744337" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.743986" elapsed="0.000380"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.744798" level="INFO">${flow_id} = 327</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.744521" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.745268" level="INFO">${flow_priority} = 204</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.744978" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.746368" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.745450" elapsed="0.000949"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.746903" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.746562" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.747443" level="INFO">${flow_id} = 327</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.747101" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.747967" level="INFO">${flow_priority} = 204</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.747640" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.748495" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cook...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.748159" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.749009" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.748690" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.749546" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e354e50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.749208" elapsed="0.000380"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.742557" elapsed="0.007086"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.750204" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cook...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.749820" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.750645" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-udp-dst&lt;/flow-name&gt;
    &lt;id&gt;327&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;204&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;204&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;17&lt;/ip-protocol&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;udp-source-port&gt;183&lt;/udp-source-port&gt;
        &lt;udp-destination-port&gt;8080&lt;/udp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.750405" elapsed="0.000301"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.758526" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.758208" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.762605" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.762722" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=327?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.762855" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.758682" elapsed="0.004200"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.763323" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.763042" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.765534" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.763514" elapsed="0.002069"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.767759" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.765654" elapsed="0.002201"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.765635" elapsed="0.002254"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.768086" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.768427" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.768212" elapsed="0.000289"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.768189" elapsed="0.000346"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.768579" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:03.770912" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.770975" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.757887" elapsed="0.013120"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.774092" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.771790" elapsed="0.002371"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.771765" elapsed="0.002428"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.774930" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.774419" elapsed="0.000538"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.775496" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.775120" elapsed="0.000403"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.775573" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.775753" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.771325" elapsed="0.004453"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.775935" elapsed="0.000403"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.757300" elapsed="0.019102"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.784362" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.784038" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.788169" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.788314" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.788413" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.784520" elapsed="0.003919"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.789102" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.788620" elapsed="0.000529"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.791639" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.789316" elapsed="0.002453"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.794437" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.791870" elapsed="0.002638"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.791842" elapsed="0.002700"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.798610" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.798676" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.794738" elapsed="0.003971"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.800576" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.798812" elapsed="0.001822"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.798792" elapsed="0.001867"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.800693" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.800890" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.800934" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 327 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.783654" elapsed="0.017303"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.803203" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.801531" elapsed="0.001735"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.801513" elapsed="0.001778"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.803848" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.803443" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.804414" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.804041" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.804491" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.804674" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.801175" elapsed="0.003524"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.804857" elapsed="0.000410"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.783017" elapsed="0.022315"/>
</kw>
<arg>f204.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.739191" elapsed="0.066199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.732183" elapsed="0.073327"/>
</test>
<test id="s1-s3-s2-t146" name="Test Is Flow 205 Deleted" line="360">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.816978" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f205.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.817138" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.816838" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.817782" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3830&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.817345" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.818263" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.817964" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.818745" level="INFO">${flow_id} = 328</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.818444" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.819192" level="INFO">${flow_priority} = 205</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.818921" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.820340" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.819385" elapsed="0.000986"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.820874" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.820533" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.821599" level="INFO">${flow_id} = 328</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.821255" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.822128" level="INFO">${flow_priority} = 205</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.821797" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.822979" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.822340" elapsed="0.000720"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.823596" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.823237" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.824147" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d3830&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.823806" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.816504" elapsed="0.007762"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.824832" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.824421" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.825284" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;328&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;205&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-source-port-action&lt;/flow-name&gt;
    &lt;priority&gt;205&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.825020" elapsed="0.000330"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.835333" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.834552" elapsed="0.000844"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.840090" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.840208" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=328?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.840331" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.835688" elapsed="0.004669"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.840778" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.840520" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.843212" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.840973" elapsed="0.002309"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.845897" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.843356" elapsed="0.002646"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.843336" elapsed="0.002702"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.846262" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.846586" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.846395" elapsed="0.000262"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.846371" elapsed="0.000320"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.846736" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:03.849318" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.849386" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.833781" elapsed="0.015638"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.852860" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.850222" elapsed="0.002710"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.850195" elapsed="0.002769"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.853773" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.853176" elapsed="0.000641"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.854592" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.854062" elapsed="0.000567"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.854697" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:38:03.855098" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.849724" elapsed="0.005427"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.855409" elapsed="0.000584"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.832489" elapsed="0.023596"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.867756" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.867331" elapsed="0.000475"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.873062" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.873379" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.873641" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.867988" elapsed="0.005714"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.874741" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.874088" elapsed="0.000766"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.880005" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.875237" elapsed="0.004841"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.882641" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.880172" elapsed="0.002538"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.880146" elapsed="0.002595"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.886695" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.886761" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.882937" elapsed="0.003855"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.888969" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.886900" elapsed="0.002161"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.886874" elapsed="0.002215"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.889123" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.889341" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.889386" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 328 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.866689" elapsed="0.022720"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.891586" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.889961" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.889944" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.892204" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.891804" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.892768" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.892414" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.892845" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.893025" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.889625" elapsed="0.003425"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.893205" elapsed="0.000404"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.865790" elapsed="0.027883"/>
</kw>
<arg>f205.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.813083" elapsed="0.080647"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.805783" elapsed="0.088062"/>
</test>
<test id="s1-s3-s2-t147" name="Test Is Flow 206 Deleted" line="362">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.905055" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f206.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.905194" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.904914" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.905830" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.905397" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.906311" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.906012" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.906763" level="INFO">${flow_id} = 329</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.906492" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.907214" level="INFO">${flow_priority} = 206</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.906942" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.908192" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.907411" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.908740" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.908402" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.909280" level="INFO">${flow_id} = 329</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.908939" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.909807" level="INFO">${flow_priority} = 206</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.909478" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.910333" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
 ...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.910002" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.910900" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.910572" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.911442" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e2fb150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.911100" elapsed="0.000384"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.904575" elapsed="0.006993"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.912111" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.911724" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.912559" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;329&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
            &lt;ethernet-destination&gt;
                &lt;address&gt;ff:ff:29:01:19:61&lt;/address&gt;
            &lt;/ethernet-destination&gt;
            &lt;ethernet-source&gt;
                &lt;address&gt;00:00:00:11:23:ae&lt;/address&gt;
            &lt;/ethernet-source&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;17.0.0.0/8&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;172.168.0.0/16&lt;/ipv4-destination&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;132&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;0&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;0&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;sctp-source-port&gt;768&lt;/sctp-source-port&gt;
        &lt;sctp-destination-port&gt;384&lt;/sctp-destination-port&gt;
        &lt;in-port&gt;openflow:1:0&lt;/in-port&gt;
    &lt;/match&gt;
    &lt;cookie&gt;206&lt;/cookie&gt;
    &lt;flow-name&gt;sctp-destination-port&lt;/flow-name&gt;
    &lt;priority&gt;206&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.912314" elapsed="0.000309"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.920467" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.920117" elapsed="0.000378"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.925305" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.925427" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=329?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.925537" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.920626" elapsed="0.004937"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.925992" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.925733" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.928389" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.926194" elapsed="0.002247"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:03.930888" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-05-25T00:38:03.928514" elapsed="0.002472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.928493" elapsed="0.002528"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:03.931221" elapsed="0.000052"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.931565" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.931374" elapsed="0.000263"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:03.931350" elapsed="0.000322"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.931738" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:38:03.934149" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:03.934302" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.919796" elapsed="0.014556"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.937496" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.935212" elapsed="0.002342"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.935185" elapsed="0.002399"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.938218" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.937762" elapsed="0.000502"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.938824" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.938461" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.938902" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:03.939084" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.934707" elapsed="0.004402"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.939284" elapsed="0.000395"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.919174" elapsed="0.020569"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.947676" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.947375" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:03.951851" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:03.951999" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:03.952099" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.947833" elapsed="0.004291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.952567" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.952312" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.955355" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.952757" elapsed="0.002669"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.957991" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.955522" elapsed="0.002538"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.955495" elapsed="0.002596"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.961730" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:03.961777" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:03.958311" elapsed="0.003489"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:03.963780" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:03.961876" elapsed="0.001959"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.961858" elapsed="0.002003"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:03.963895" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:03.964115" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:03.964159" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 329 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.946976" elapsed="0.017206"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:03.966361" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:03.964743" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:03.964726" elapsed="0.001740"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.967024" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.966621" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.967587" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.967215" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:03.967663" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:03.967843" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:03.964412" elapsed="0.003456"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:03.968025" elapsed="0.000433"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.946335" elapsed="0.022187"/>
</kw>
<arg>f206.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.901035" elapsed="0.067544"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.894103" elapsed="0.074598"/>
</test>
<test id="s1-s3-s2-t148" name="Test Is Flow 209 Deleted" line="364">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:03.979624" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f209.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:03.979769" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:03.979481" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:03.980409" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:03.979953" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.980873" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.980593" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.981341" level="INFO">${flow_id} = 332</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.981051" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:03.981789" level="INFO">${flow_priority} = 209</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:03.981519" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:03.982704" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:03.981965" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.983231" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.982896" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.983770" level="INFO">${flow_id} = 332</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.983447" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.984340" level="INFO">${flow_priority} = 209</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.983965" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.984854" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;co...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.984537" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.985389" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.985050" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.985914" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e4d4c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:03.985588" elapsed="0.000370"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:03.979134" elapsed="0.006878"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.986618" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/co...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:03.986163" elapsed="0.000486"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.987046" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-tunnel-id&lt;/flow-name&gt;
    &lt;id&gt;332&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;209&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;209&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;34525&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv6-source&gt;1234:5678:9ABC:DEF0:FDC0::/76&lt;/ipv6-source&gt;
        &lt;ipv6-destination&gt;fe80:2acf:e9ff:fe21::6431/128&lt;/ipv6-destination&gt;
        &lt;metadata&gt;
            &lt;metadata&gt;12345&lt;/metadata&gt;
        &lt;/metadata&gt;
        &lt;ip-match&gt;
            &lt;ip-protocol&gt;6&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
            &lt;ip-ecn&gt;3&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
        &lt;tcp-source-port&gt;183&lt;/tcp-source-port&gt;
        &lt;tcp-destination-port&gt;8080&lt;/tcp-destination-port&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:03.986803" elapsed="0.000307"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:03.997366" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:03.997049" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.002896" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.003051" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=332?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.003197" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:03.997523" elapsed="0.005715"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.003928" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.003495" elapsed="0.000501"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.007016" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.004200" elapsed="0.002887"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:04.009701" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:38:04.007186" elapsed="0.002607"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.007159" elapsed="0.002669"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.010026" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.010362" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.010151" elapsed="0.000285"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:04.010128" elapsed="0.000341"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.010513" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:04.012876" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:04.012941" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:03.996730" elapsed="0.016242"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.015374" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.013756" elapsed="0.001664"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.013731" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.015989" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.015588" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.016585" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.016212" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.016680" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.016860" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.013289" elapsed="0.003596"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.017041" elapsed="0.000403"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:03.996062" elapsed="0.021445"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.025497" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.025179" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.031318" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.031474" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.031608" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.025653" elapsed="0.005991"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.032219" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.031869" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.035557" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.032513" elapsed="0.003117"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.038239" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.035726" elapsed="0.002601"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.035699" elapsed="0.002660"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.042344" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:04.042409" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:04.038553" elapsed="0.003888"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.045008" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.042548" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.042522" elapsed="0.002600"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:04.045168" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:04.045464" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:04.045526" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 332 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.024643" elapsed="0.020915"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.047771" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.046164" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.046146" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.048408" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.047990" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.048950" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.048597" elapsed="0.000404"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.049053" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.049233" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.045834" elapsed="0.003441"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.049477" elapsed="0.000392"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.024014" elapsed="0.025919"/>
</kw>
<arg>f209.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:03.975802" elapsed="0.074188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:03.968900" elapsed="0.081204"/>
</test>
<test id="s1-s3-s2-t149" name="Test Is Flow 214 Deleted" line="366">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.060945" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f214.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.061094" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.060807" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:04.061742" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404da890&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:04.061332" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.062205" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.061925" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.062676" level="INFO">${flow_id} = 337</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.062403" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.063125" level="INFO">${flow_priority} = 214</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.062854" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.064149" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:04.063320" elapsed="0.000859"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.064691" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.064357" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.065235" level="INFO">${flow_id} = 337</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.064886" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.065777" level="INFO">${flow_priority} = 214</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.065447" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.066298" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cooki...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.065969" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.066815" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.066497" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.067349" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d1404da890&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.067012" elapsed="0.000379"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:04.060476" elapsed="0.006971"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.067980" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cooki...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.067597" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.068424" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;flow-name&gt;set-field-ip-ecn&lt;/flow-name&gt;
    &lt;id&gt;337&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;cookie&gt;214&lt;/cookie&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;priority&gt;214&lt;/priority&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
            &lt;order&gt;0&lt;/order&gt;
            &lt;apply-actions&gt;
                &lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
            &lt;/apply-actions&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-source&gt;10.1.2.0/24&lt;/ipv4-source&gt;
        &lt;ipv4-destination&gt;20.4.0.0/16&lt;/ipv4-destination&gt;
		&lt;ip-match&gt;
            &lt;ip-protocol&gt;56&lt;/ip-protocol&gt;
            &lt;ip-dscp&gt;60&lt;/ip-dscp&gt;
	    &lt;ip-ecn&gt;1&lt;/ip-ecn&gt;
        &lt;/ip-match&gt;
    &lt;/match&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.068163" elapsed="0.000355"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.076344" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.076024" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.080865" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.080977" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=337?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.081074" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.076502" elapsed="0.004598"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.081574" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.081284" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.083741" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.081763" elapsed="0.002028"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:04.085675" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-05-25T00:38:04.083862" elapsed="0.001880"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.083843" elapsed="0.001924"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.085967" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.086307" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.086093" elapsed="0.000288"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:04.086071" elapsed="0.000344"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.086460" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:04.088757" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:04.088826" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.075700" elapsed="0.013158"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.091917" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.089666" elapsed="0.002315"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.089641" elapsed="0.002371"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.092794" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.092217" elapsed="0.000614"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.093612" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.093057" elapsed="0.000591"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.093718" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:04.093918" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.089153" elapsed="0.004791"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.094101" elapsed="0.000403"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.075119" elapsed="0.019449"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.102456" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.102137" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.106917" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.107064" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.107161" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.102613" elapsed="0.004574"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.107628" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.107374" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.110039" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.107825" elapsed="0.002266"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.112419" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.110160" elapsed="0.002329"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.110141" elapsed="0.002380"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.116365" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:04.116432" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:04.112717" elapsed="0.003748"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.118964" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.116573" elapsed="0.002447"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.116547" elapsed="0.002498"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:04.119078" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:04.119292" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:04.119337" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 337 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.101752" elapsed="0.017608"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.121535" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.119906" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.119889" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.122167" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.121749" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.122731" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.122376" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.122807" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:04.122985" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.119575" elapsed="0.003435"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.123168" elapsed="0.000406"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.101080" elapsed="0.022559"/>
</kw>
<arg>f214.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:04.057173" elapsed="0.066523"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.050298" elapsed="0.073518"/>
</test>
<test id="s1-s3-s2-t150" name="Test Is Flow 218 Deleted" line="368">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.134926" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f218.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.135060" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.134787" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:04.135653" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:04.135260" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.136173" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.135836" elapsed="0.000364"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.136652" level="INFO">${flow_id} = 341</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.136375" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.137109" level="INFO">${flow_priority} = 218</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.136836" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.138057" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:04.137305" elapsed="0.000789"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.138617" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.138278" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.139143" level="INFO">${flow_id} = 341</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.138815" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.139699" level="INFO">${flow_priority} = 218</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.139367" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.140210" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.139894" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.140751" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.140430" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.141286" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.140948" elapsed="0.000381"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:04.134452" elapsed="0.006933"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.141920" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.141535" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.142407" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;go-to-table&gt;
                &lt;table_id&gt;3&lt;/table_id&gt;
            &lt;/go-to-table&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;341&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;tunnel&gt;
            &lt;tunnel-mask&gt;0xfff0&lt;/tunnel-mask&gt;
            &lt;tunnel-id&gt;10656&lt;/tunnel-id&gt;
        &lt;/tunnel&gt;
    &lt;/match&gt;
    &lt;cookie&gt;218&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-go-to-table&lt;/flow-name&gt;
    &lt;priority&gt;218&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.142143" elapsed="0.000321"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.150407" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.150035" elapsed="0.000400"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.154662" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.154806" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=341?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.154908" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.150574" elapsed="0.004359"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.155460" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.155162" elapsed="0.000345"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.157668" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.155652" elapsed="0.002068"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:04.160076" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-05-25T00:38:04.157808" elapsed="0.002385"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.157779" elapsed="0.002453"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.160474" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.160812" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.160609" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:04.160585" elapsed="0.000338"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.160970" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:04.163466" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:04.163528" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.149705" elapsed="0.013855"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.166689" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.164363" elapsed="0.002392"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.164338" elapsed="0.002449"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.167369" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.166943" elapsed="0.000454"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.167909" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.167559" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.167984" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.168164" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.163872" elapsed="0.004317"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.168367" elapsed="0.000403"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.149085" elapsed="0.019749"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.176749" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.176447" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.181497" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.181608" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.181706" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.176906" elapsed="0.004825"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.182157" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.181903" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.185397" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.182368" elapsed="0.003101"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.188189" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.185619" elapsed="0.002664"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.185590" elapsed="0.002727"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.191776" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:04.191823" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:04.188519" elapsed="0.003328"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.193705" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.191924" elapsed="0.001838"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.191905" elapsed="0.001882"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:04.193820" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:04.194015" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:04.194059" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 341 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.176045" elapsed="0.018038"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.196336" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.194674" elapsed="0.001710"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.194656" elapsed="0.001751"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.196952" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.196554" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.197523" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.197144" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.197600" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.197780" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.194314" elapsed="0.003492"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.197966" elapsed="0.000405"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.175413" elapsed="0.023024"/>
</kw>
<arg>f218.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:04.130946" elapsed="0.067549"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.123991" elapsed="0.074673"/>
</test>
<test id="s1-s3-s2-t151" name="Test Is Flow 219 Deleted" line="370">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.209959" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f219.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.210119" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.209811" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:04.210767" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303470&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:04.210321" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.211236" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.210951" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.211708" level="INFO">${flow_id} = 342</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.211436" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.212161" level="INFO">${flow_priority} = 219</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.211891" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.213204" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:04.212359" elapsed="0.000880"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.213760" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.213416" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.214305" level="INFO">${flow_id} = 342</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.213958" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.214903" level="INFO">${flow_priority} = 219</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.214542" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.215441" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;c...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.215102" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.215963" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.215641" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.216503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13e303470&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.216160" elapsed="0.000385"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:04.209479" elapsed="0.007122"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.217135" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.216752" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.217585" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
        	&lt;order&gt;0&lt;/order&gt;
		&lt;clear-actions&gt;
		&lt;action&gt;
                    &lt;order&gt;0&lt;/order&gt;
                    &lt;drop-action/&gt;
                &lt;/action&gt;
		&lt;/clear-actions&gt;
	&lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;342&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;vlan-match&gt;
            &lt;vlan-id&gt;
                &lt;vlan-id&gt;10&lt;/vlan-id&gt;
                &lt;vlan-id-present&gt;true&lt;/vlan-id-present&gt;
            &lt;/vlan-id&gt;
            &lt;vlan-pcp&gt;3&lt;/vlan-pcp&gt;
        &lt;/vlan-match&gt;
    &lt;/match&gt;
    &lt;cookie&gt;219&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-clear-actions&lt;/flow-name&gt;
    &lt;priority&gt;219&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.217341" elapsed="0.000303"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.225616" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.225314" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.229642" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.229774" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=342?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.229892" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.225773" elapsed="0.004146"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.230361" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.230082" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.232940" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.230552" elapsed="0.002458"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:04.235626" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-05-25T00:38:04.233108" elapsed="0.002611"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.233081" elapsed="0.002673"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.235952" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.236290" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.236078" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:04.236055" elapsed="0.000403"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.236503" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:38:04.238821" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:04.238885" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.224974" elapsed="0.013943"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.241388" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.239742" elapsed="0.001692"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.239717" elapsed="0.001740"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.242144" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.241737" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.242720" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.242362" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.242797" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.242978" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.239270" elapsed="0.003733"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.243275" elapsed="0.000392"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.224410" elapsed="0.019322"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.251636" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.251332" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.256869" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.257021" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.257154" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.251795" elapsed="0.005394"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.257802" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.257446" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.261194" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.258066" elapsed="0.003224"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.263899" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.261389" elapsed="0.002579"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.261361" elapsed="0.002639"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.267729" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:04.267794" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:04.264199" elapsed="0.003627"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.270401" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.267934" elapsed="0.002546"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.267908" elapsed="0.002607"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:04.270563" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:38:04.270835" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:04.270896" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 342 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.250915" elapsed="0.020012"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.273435" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.271809" elapsed="0.001673"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.271783" elapsed="0.001722"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.274060" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.273656" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.274630" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.274268" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.274707" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.274892" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.271304" elapsed="0.003613"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.275076" elapsed="0.000433"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.250294" elapsed="0.025279"/>
</kw>
<arg>f219.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:04.206051" elapsed="0.069579"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.198878" elapsed="0.076875"/>
</test>
<test id="s1-s3-s2-t152" name="Test Is Flow 220 Deleted" line="372">
<kw name="Check Datastore Presence" owner="FlowLib">
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.286780" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/xmls/f220.xml&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.286920" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<var>${data}</var>
<arg>${file}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.286637" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-05-25T00:38:04.287531" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-05-25T00:38:04.287106" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.288068" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.287750" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.288538" level="INFO">${flow_id} = 343</msg>
<var>${flow_id}</var>
<arg>${xmlroot}</arg>
<arg>id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.288264" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-05-25T00:38:04.289143" level="INFO">${flow_priority} = 220</msg>
<var>${flow_priority}</var>
<arg>${xmlroot}</arg>
<arg>priority</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-05-25T00:38:04.288716" elapsed="0.000453"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.290123" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${upddata}</var>
<arg>${data}</arg>
<status status="PASS" start="2026-05-25T00:38:04.289336" elapsed="0.000818"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.290669" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.290331" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.291192" level="INFO">${flow_id} = 343</msg>
<arg>${flow_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.290866" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.291764" level="INFO">${flow_priority} = 220</msg>
<arg>${flow_priority}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.291409" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.292298" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/...</msg>
<arg>${data}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.291961" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.292841" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<arg>${upddata}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.292499" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.293395" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x70d13dd29080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.293043" elapsed="0.000446"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-05-25T00:38:04.286301" elapsed="0.007245"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.294089" level="INFO">${det} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
          ...</msg>
<var>${det}</var>
<arg>${upd}==${True}</arg>
<arg>${upddata}</arg>
<arg>${data}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.293701" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.294536" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &lt;strict&gt;false&lt;/strict&gt;
    &lt;instructions&gt;
        &lt;instruction&gt;
                    &lt;order&gt;0&lt;/order&gt;
            &lt;write-metadata&gt;
                &lt;metadata-mask&gt;12&lt;/metadata-mask&gt;
                &lt;metadata&gt;10&lt;/metadata&gt;
            &lt;/write-metadata&gt;
        &lt;/instruction&gt;
    &lt;/instructions&gt;
    &lt;table_id&gt;2&lt;/table_id&gt;
    &lt;id&gt;343&lt;/id&gt;
    &lt;cookie_mask&gt;255&lt;/cookie_mask&gt;
    &lt;out_port&gt;0xffffffff&lt;/out_port&gt;
    &lt;installHw&gt;false&lt;/installHw&gt;
    &lt;out_group&gt;0xffffffff&lt;/out_group&gt;
    &lt;match&gt;
        &lt;ethernet-match&gt;
            &lt;ethernet-type&gt;
                &lt;type&gt;2048&lt;/type&gt;
            &lt;/ethernet-type&gt;
        &lt;/ethernet-match&gt;
        &lt;ipv4-destination&gt;10.0.0.0/24&lt;/ipv4-destination&gt;
    &lt;/match&gt;
    &lt;cookie&gt;220&lt;/cookie&gt;
    &lt;flow-name&gt;flow-instruction-write-metadata&lt;/flow-name&gt;
    &lt;priority&gt;220&lt;/priority&gt;
    &lt;barrier&gt;false&lt;/barrier&gt;
&lt;/flow&gt;</msg>
<arg>${det}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.294291" elapsed="0.000304"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.302717" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.302415" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.307870" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.307987" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=343?content=config 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/xml', 'Content-Length': '288'} 
 body=&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.308086" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.302875" elapsed="0.005236"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.308592" level="INFO">&lt;Response [409]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.308302" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.310844" level="INFO">&lt;?xml version="1.0" ?&gt;&lt;errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"&gt;&lt;error&gt;&lt;error-type&gt;protocol&lt;/error-type&gt;&lt;error-message&gt;Request could not be completed because the relevant data model content does not exist&lt;/error-message&gt;&lt;error-tag&gt;data-missing&lt;/error-tag&gt;&lt;/error&gt;&lt;/errors&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.308789" elapsed="0.002107"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:04.312822" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-05-25T00:38:04.310967" elapsed="0.001952"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.310947" elapsed="0.002007"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.313155" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.313503" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.313309" elapsed="0.000269"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:04.313284" elapsed="0.000328"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.313657" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:04.316065" level="INFO">${presence_flow} = False</msg>
<msg time="2026-05-25T00:38:04.316128" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks the config store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.301884" elapsed="0.014276"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.319295" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.316953" elapsed="0.002410"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.316928" elapsed="0.002467"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.320216" level="INFO">${msgf} = The flow is not expected in config data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.319604" elapsed="0.000673"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.320994" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.320559" elapsed="0.000462"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.321072" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.321272" level="INFO">${msgf} = The flow is not expected in config data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>config</arg>
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.316484" elapsed="0.004815"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.321460" elapsed="0.000391"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.301310" elapsed="0.020605"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.329967" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.329665" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.334792" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01hoijpy5fapkg1kevzrq780hjg9.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:04.334902" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Content-Length': '265'} 
 body=&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt; 
 </msg>
<msg time="2026-05-25T00:38:04.334999" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:04.330130" elapsed="0.004895"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.335467" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.335186" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.338424" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-table-statistics xmlns="urn:opendaylight:flow:table:statistics"&gt;&lt;packets-looked-up&gt;0&lt;/packets-looked-up&gt;&lt;active-flows&gt;0&lt;/active-flows&gt;&lt;packets-matched&gt;0&lt;/packets-matched&gt;&lt;/flow-table-statistics&gt;&lt;/table&gt;</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.335658" elapsed="0.002840"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.341190" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.338596" elapsed="0.002687"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.338569" elapsed="0.002748"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-05-25T00:38:04.345045" level="INFO">${pres} = False</msg>
<msg time="2026-05-25T00:38:04.345092" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-05-25T00:38:04.341518" elapsed="0.003598"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.347044" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.345194" elapsed="0.001910"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.345175" elapsed="0.001954"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-05-25T00:38:04.347163" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:04.347383" level="INFO">${presence_table} = False</msg>
<msg time="2026-05-25T00:38:04.347428" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks the operational store for given flow. Returns True if present, otherwise returns False
This keyword assumes that the global/suite variables are available (2, 343 and 1</doc>
<status status="PASS" start="2026-05-25T00:38:04.329277" elapsed="0.018174"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.349690" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.348008" elapsed="0.001729"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.347990" elapsed="0.001770"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.350332" level="INFO">${msgf} = The flow is not expected in operational data store, but</msg>
<var>${msgf}</var>
<arg>${expected}==${True}</arg>
<arg>The flow is expected in ${ds} data store, but</arg>
<arg>The flow is not expected in ${ds} data store, but</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.349911" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.350880" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.350525" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-05-25T00:38:04.350956" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.351136" level="INFO">${msgf} = The flow is not expected in operational data store, but it is not present.</msg>
<var>${msgf}</var>
<arg>operational</arg>
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>${msg}</arg>
<doc>Utility keyword to help manipulate mesage strings that may be used later to PASS or FAIL with</doc>
<status status="PASS" start="2026-05-25T00:38:04.347667" elapsed="0.003495"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:04.351378" elapsed="0.000391"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-05-25T00:38:04.328640" elapsed="0.023195"/>
</kw>
<arg>f220.xml</arg>
<arg>${False}</arg>
<arg>${False}</arg>
<arg>${True}</arg>
<doc>Checks if flow is properly existing or not existing in the config and operational
datastores, based on the variables ${reqconfpres} and ${reqoperpres}</doc>
<status status="PASS" start="2026-05-25T00:38:04.282911" elapsed="0.068982"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.275947" elapsed="0.076062"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-05-25T00:38:04.352940" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:38:04.352860" elapsed="0.000159"/>
</kw>
<doc>Test suite for Stats Manager flows collection</doc>
<status status="PASS" start="2026-05-25T00:36:25.776692" elapsed="98.576362"/>
</suite>
<kw name="Stop Mininet" owner="Utils" type="TEARDOWN">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.355737" level="INFO">Stop the test on the base edition</msg>
<arg>Stop the test on the base edition</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.355516" elapsed="0.000268"/>
</kw>
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn_id}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:04.355925" elapsed="0.000151"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-05-25T00:38:04.356209" elapsed="0.000200"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:38:04.359489" level="INFO">exit</msg>
<arg>exit</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:38:04.356540" elapsed="0.003021"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:38:04.491890" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 2 links
..
*** Stopping 1 switches
s1 
*** Stopping 2 hosts
h1 h2 
*** Done
completed in 131.293 seconds
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${prompt}</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:38:04.359704" elapsed="0.132368"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:04.492401" elapsed="0.000267"/>
</kw>
<doc>Cleanup/Shutdown work that should be done at the completion of all
tests</doc>
<status status="PASS" start="2026-05-25T00:38:04.355219" elapsed="0.137527"/>
</kw>
<doc>Test suite for the OpenDaylight OpenFlow statistics manager</doc>
<status status="PASS" start="2026-05-25T00:35:50.685478" elapsed="133.807313"/>
</suite>
<suite id="s1-s4" name="Reconciliation" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation">
<suite id="s1-s4-s1" name="010 Group Flows" source="/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/010_Group_Flows.robot">
<kw name="Initialization Phase" type="SETUP">
<kw name="ClusterManagement_Setup" owner="ClusterManagement">
<kw name="Get Variable Value" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.782189" level="INFO">${already_done} = False</msg>
<var>${already_done}</var>
<arg>\${ClusterManagement__has_setup_run}</arg>
<arg>False</arg>
<doc>Returns variable value or ``default`` if the variable does not exist.</doc>
<status status="PASS" start="2026-05-25T00:38:04.778483" elapsed="0.003745"/>
</kw>
<if>
<branch type="IF" condition="${already_done}">
<return>
<status status="NOT RUN" start="2026-05-25T00:38:04.782501" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:04.782357" elapsed="0.000196"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.782327" elapsed="0.000250"/>
</if>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.783082" level="INFO">${ClusterManagement__has_setup_run} = True</msg>
<arg>\${ClusterManagement__has_setup_run}</arg>
<arg>True</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.782736" elapsed="0.000390"/>
</kw>
<kw name="Get Variable Value" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.783624" level="INFO">${cluster_size} = 1</msg>
<var>${cluster_size}</var>
<arg>\${NUM_ODL_SYSTEM}</arg>
<arg>1</arg>
<doc>Returns variable value or ``default`` if the variable does not exist.</doc>
<status status="PASS" start="2026-05-25T00:38:04.783309" elapsed="0.000342"/>
</kw>
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Convert To Integer" owner="BuiltIn">
<arg>${cluster_size}</arg>
<doc>Converts the given item to an integer number.</doc>
<status status="PASS" start="2026-05-25T00:38:04.784168" elapsed="0.000306"/>
</kw>
<msg time="2026-05-25T00:38:04.784574" level="INFO">${status} = PASS</msg>
<msg time="2026-05-25T00:38:04.784621" level="INFO">${possibly_int_of_members} = 1</msg>
<var>${status}</var>
<var>${possibly_int_of_members}</var>
<arg>BuiltIn.Convert_To_Integer</arg>
<arg>${cluster_size}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-05-25T00:38:04.783819" elapsed="0.000825"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.785214" level="INFO">${int_of_members} = 1</msg>
<var>${int_of_members}</var>
<arg>'${status}' != 'PASS'</arg>
<arg>${1}</arg>
<arg>${possibly_int_of_members}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.784836" elapsed="0.000423"/>
</kw>
<kw name="ClusterManagement__Compute_Derived_Variables" owner="ClusterManagement">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.786490" level="INFO">@{member_index_list} = [ ]</msg>
<var>@{member_index_list}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:04.786203" elapsed="0.000314"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.786926" level="INFO">@{session_list} = [ ]</msg>
<var>@{session_list}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:04.786669" elapsed="0.000283"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.787428" level="INFO">&amp;{index_to_ip_mapping} = { }</msg>
<var>&amp;{index_to_ip_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.787111" elapsed="0.000344"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="ClusterManagement__Include_Member_Index" owner="ClusterManagement">
<kw name="Append To List" owner="Collections">
<arg>${member_index_list}</arg>
<arg>${index}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.790564" elapsed="0.000247"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.791332" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>${ODL_SYSTEM_${index}_IP}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.790979" elapsed="0.000455"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${index_to_ip_mapping}</arg>
<arg>${index}</arg>
<arg>${member_ip}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.791597" elapsed="0.000338"/>
</kw>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.792750" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.792449" elapsed="0.000329"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:38:04.792847" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:38:04.793026" level="INFO">${session_alias} = ClusterManagement__session_1</msg>
<var>${session_alias}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:38:04.792132" elapsed="0.000920"/>
</kw>
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.793682" level="INFO">Creating Session using : alias=ClusterManagement__session_1, url=http://10.30.170.7:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d13e21bdd0&gt;, timeout=5, proxies=None, verify=False,                     debug=0 </msg>
<arg>${session_alias}</arg>
<arg>http://${member_ip}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>timeout=${http_timeout}</arg>
<arg>max_retries=${http_retries}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:38:04.793213" elapsed="0.000785"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${session_list}</arg>
<arg>${session_alias}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.794165" elapsed="0.000214"/>
</kw>
<arg>${index}</arg>
<arg>${member_index_list}</arg>
<arg>${session_list}</arg>
<arg>${index_to_ip_mapping}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>http_retries=${http_retries}</arg>
<doc>Add a corresponding item based on index into the last three arguments.
Create the Http session whose alias is added to list.</doc>
<status status="PASS" start="2026-05-25T00:38:04.789969" elapsed="0.004471"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-05-25T00:38:04.789767" elapsed="0.004718"/>
</iter>
<var>${index}</var>
<value>1</value>
<value>${int_of_members+1}</value>
<status status="PASS" start="2026-05-25T00:38:04.787519" elapsed="0.007001"/>
</for>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.795060" level="INFO">${ClusterManagement__member_index_list} = [1]</msg>
<arg>\${ClusterManagement__member_index_list}</arg>
<arg>${member_index_list}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.794687" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.795657" level="INFO">${ClusterManagement__index_to_ip_mapping} = {1: '10.30.170.7'}</msg>
<arg>\${ClusterManagement__index_to_ip_mapping}</arg>
<arg>${index_to_ip_mapping}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.795286" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.796226" level="INFO">${ClusterManagement__session_list} = ['ClusterManagement__session_1']</msg>
<arg>\${ClusterManagement__session_list}</arg>
<arg>${session_list}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.795871" elapsed="0.000415"/>
</kw>
<arg>int_of_members=${int_of_members}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>http_retries=${http_retries}</arg>
<doc>Construct index list, session list and IP mapping, publish them as suite variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.785742" elapsed="0.010604"/>
</kw>
<doc>Detect repeated call, or detect number of members and initialize derived suite variables.
Http sessions are created with parameters to not waste time when ODL is no accepting connections properly.</doc>
<status status="PASS" start="2026-05-25T00:38:04.778133" elapsed="0.018270"/>
</kw>
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:04.796798" level="INFO">Creating Session using : alias=session, url=http://10.30.170.7:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x70d13dd1a0d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-05-25T00:38:04.796554" elapsed="0.000420"/>
</kw>
<kw name="Convert To Integer" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.797598" level="INFO">${switches} = 3</msg>
<var>${switches}</var>
<arg>${SWITCHES}</arg>
<doc>Converts the given item to an integer number.</doc>
<status status="PASS" start="2026-05-25T00:38:04.797284" elapsed="0.000341"/>
</kw>
<kw name="Convert To Integer" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.798120" level="INFO">${iter} = 100</msg>
<var>${iter}</var>
<arg>${ITER}</arg>
<doc>Converts the given item to an integer number.</doc>
<status status="PASS" start="2026-05-25T00:38:04.797817" elapsed="0.000329"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.798680" level="INFO">${all_groups} = 600</msg>
<var>${all_groups}</var>
<arg>${switches} * ${iter} * 2</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.798321" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.799217" level="INFO">${less_groups} = 594</msg>
<var>${less_groups}</var>
<arg>${all_groups} - ${switches} * 2</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.798868" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.801608" level="INFO">${all_flows} = 303</msg>
<var>${all_flows}</var>
<arg>${switches} * ${iter+1}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.799421" elapsed="0.002214"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.802163" level="INFO">${less_flows} = 300</msg>
<var>${less_flows}</var>
<arg>${all_flows} - ${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.801792" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.802672" level="INFO">${switches} = 3</msg>
<arg>${switches}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.802371" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.803164" level="INFO">${iter} = 100</msg>
<arg>${iter}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.802875" elapsed="0.000330"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.803680" level="INFO">${all_groups} = 600</msg>
<arg>${all_groups}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.803382" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.804223" level="INFO">${less_groups} = 594</msg>
<arg>${less_groups}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.803921" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.804742" level="INFO">${all_flows} = 303</msg>
<arg>${all_flows}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.804443" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.805297" level="INFO">${less_flows} = 300</msg>
<arg>${less_flows}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.804979" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.809403" level="INFO">${no_flows} = 3</msg>
<arg>${no_flows}</arg>
<arg>${SWITCHES}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:04.805498" elapsed="0.003951"/>
</kw>
<doc>Create controller session and set variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.777540" elapsed="0.031969"/>
</kw>
<test id="s1-s4-s1-t1" name="Add Group 1 In Every Switch" line="24">
<for flavor="IN RANGE">
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.812836" level="INFO">&amp;{mapping} = { NODE=openflow:1 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.812445" elapsed="0.000420"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.856580" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.856049" elapsed="0.000573"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.857563" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:04.857189" elapsed="0.000468">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:04.857759" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:04.856823" elapsed="0.000961"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.858371" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.857957" elapsed="0.000442"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.858713" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.858914" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.858564" elapsed="0.000376"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.859370" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.859101" elapsed="0.000318"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.860548" level="INFO">mapping: {'NODE': 'openflow:1'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.860284" elapsed="0.000309"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.861031" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.860756" elapsed="0.000302"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.861861" level="INFO">${value} = openflow:1</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:04.861464" elapsed="0.000424"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:04.863013" level="INFO">${encoded} = openflow%3A1</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.862459" elapsed="0.000581"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:04.863096" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:38:04.863290" level="INFO">${encoded_value} = openflow%3A1</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:04.862078" elapsed="0.001238"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.863474" elapsed="0.000298"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:38:04.861324" elapsed="0.002490"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:04.861117" elapsed="0.002734"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:04.863895" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:04.864118" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:04.859934" elapsed="0.004210"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.859521" elapsed="0.004656"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.864378" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.864205" elapsed="0.000231"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.859489" elapsed="0.004969"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.868813" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A1</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.864606" elapsed="0.004237"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:04.868895" elapsed="0.000032"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:04.855194" elapsed="0.013834"/>
</kw>
<msg time="2026-05-25T00:38:04.869088" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:04.842214" elapsed="0.026928"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.881363" elapsed="0.000067"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.893700" elapsed="0.000114"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.906147" elapsed="0.000074"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.906542" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.906742" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.907232" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.907068" elapsed="0.000243"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:04.907049" elapsed="0.000289"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.907488" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.907660" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.907828" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:04.907001" elapsed="0.000881"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.906843" elapsed="0.001066"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.908059" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:04.908232" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:04.908439" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A1</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:04.837775" elapsed="0.070692"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:04.919839" elapsed="0.000491"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.934332" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.933777" elapsed="0.000596"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.935229" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:04.934933" elapsed="0.000399">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:04.935432" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:04.934566" elapsed="0.000890"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.936018" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.935626" elapsed="0.000420"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.936373" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.936567" level="INFO">${template} = {
  "flow-node-inventory:group": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.936208" elapsed="0.000385"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.937007" level="INFO">{
  "flow-node-inventory:group": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.936754" elapsed="0.000301"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.937575" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.937143" elapsed="0.000493"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.938124" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.937812" elapsed="0.000338"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.937663" elapsed="0.000524"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.937115" elapsed="0.001121"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.938865" level="INFO">${final_text} = {
  "flow-node-inventory:group": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.938402" elapsed="0.000491"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:04.938948" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:04.939125" level="INFO">${prolog} = {
  "flow-node-inventory:group": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:04.932836" elapsed="0.006314"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.953369" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.952842" elapsed="0.000566"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.954389" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:04.953967" elapsed="0.000505">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:04.954571" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:04.953600" elapsed="0.000996"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.955168" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.954768" elapsed="0.000428"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.955539" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.955711" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.955392" elapsed="0.000345"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.956151" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.955897" elapsed="0.000299"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.956701" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.956304" elapsed="0.000459"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.957241" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.956937" elapsed="0.000345"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.956790" elapsed="0.000528"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.956276" elapsed="0.001065"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.957942" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.957492" elapsed="0.000478"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:04.958021" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:38:04.958189" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:04.951884" elapsed="0.006330"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.971776" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.971295" elapsed="0.000518"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.972684" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:04.972382" elapsed="0.000391">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:04.972871" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:04.972002" elapsed="0.000893"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.973480" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.973067" elapsed="0.000441"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:04.973820" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:04.974012" level="INFO">${template} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:04.973672" elapsed="0.000367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.974475" level="INFO">        {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-${i}",
          "group-type": "group-select"
        }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:04.974200" elapsed="0.000433"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:04.975125" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.974728" elapsed="0.000458"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.975685" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:04.975384" elapsed="0.000328"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.975216" elapsed="0.000531"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.974700" elapsed="0.001069"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.976565" level="INFO">${final_text} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.975918" elapsed="0.000677"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:04.976650" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:04.976821" level="INFO">${item_template} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:04.970494" elapsed="0.006353"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.977272" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:04.977014" elapsed="0.000286"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.977826" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:04.977461" elapsed="0.000390"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:04.978539" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:04.978296" elapsed="0.000326"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.978280" elapsed="0.000368"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.979147" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.978792" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.979936" level="INFO">${item} =         {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.979346" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.980121" elapsed="0.000220"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:04.978228" elapsed="0.002155"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.981032" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.980789" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.980774" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.981810" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.981452" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.982600" level="INFO">${item} =         {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.981995" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.982824" elapsed="0.000188"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:04.980741" elapsed="0.002310"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.983492" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.983233" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.983217" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.984265" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.983892" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.985025" level="INFO">${item} =         {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.984450" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.985268" elapsed="0.000186"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:04.983186" elapsed="0.002306"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.985911" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.985674" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.985658" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.986687" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.986318" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.987469" level="INFO">${item} =         {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.986870" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.987653" elapsed="0.000185"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:04.985628" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.988323" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.988057" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.988042" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.989067" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.988716" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.989844" level="INFO">${item} =         {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.989267" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.990089" elapsed="0.000204"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:04.988012" elapsed="0.002321"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.990785" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.990512" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.990498" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.991551" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.991179" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.992326" level="INFO">${item} =         {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.991733" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.992510" elapsed="0.000183"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:04.990468" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.993153" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.992918" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.992902" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.993917" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.993564" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.994707" level="INFO">${item} =         {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.994099" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.994912" elapsed="0.000187"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:04.992871" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.995570" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.995336" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.995321" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.996334" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.995961" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.997147" level="INFO">${item} =         {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.996558" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.997348" elapsed="0.000186"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:04.995289" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.998126" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:04.997888" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:04.997873" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.998924" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.998538" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:04.999700" level="INFO">${item} =         {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:04.999108" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:04.999884" elapsed="0.000184"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:04.997842" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.000542" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.000303" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.000288" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.001304" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.000936" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.002060" level="INFO">${item} =         {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.001485" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.002261" elapsed="0.000186"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:05.000243" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.002927" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.002664" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.002649" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.003699" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.003341" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.004475" level="INFO">${item} =         {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.003883" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.004658" elapsed="0.000184"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:05.002619" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.005312" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.005058" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.005043" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.006052" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.005704" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.006832" level="INFO">${item} =         {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.006230" elapsed="0.000665"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.007052" elapsed="0.000183"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:05.005013" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.007745" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.007470" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.007454" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.008512" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.008141" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.009288" level="INFO">${item} =         {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.008695" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.009474" elapsed="0.000184"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:05.007424" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.010111" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.009876" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.009861" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.010873" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.010522" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.011663" level="INFO">${item} =         {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.011070" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.011847" elapsed="0.000181"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:05.009831" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.012504" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.012263" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.012231" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.013271" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.012900" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.014039" level="INFO">${item} =         {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.013453" elapsed="0.000615"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.014224" elapsed="0.000202"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:05.012201" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.016218" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.015976" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.015960" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.016998" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.016636" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.017785" level="INFO">${item} =         {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.017183" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.017971" elapsed="0.000185"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:05.015927" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.018633" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.018395" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.018380" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.019414" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.019043" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.020173" level="INFO">${item} =         {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.019598" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.020413" elapsed="0.000185"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:05.018348" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.021052" elapsed="0.000214"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.020815" elapsed="0.000490"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.020800" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.021824" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.021473" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.022619" level="INFO">${item} =         {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.022004" elapsed="0.000644"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.022803" elapsed="0.000182"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:05.020769" elapsed="0.002287"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.023497" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.023239" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.023224" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.024350" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.023890" elapsed="0.000488"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.025109" level="INFO">${item} =         {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.024532" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.025311" elapsed="0.000185"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:05.023193" elapsed="0.002341"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.025950" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.025713" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.025698" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.026715" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.026359" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.027509" level="INFO">${item} =         {
          "group-id": 20000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.026895" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.027694" elapsed="0.000183"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:05.025668" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.028351" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.028096" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.028080" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.029098" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.028745" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.029888" level="INFO">${item} =         {
          "group-id": 21000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.029299" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.030071" elapsed="0.000202"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:05.028049" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.030735" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.030496" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.030481" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.031544" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.031169" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.032400" level="INFO">${item} =         {
          "group-id": 22000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.031766" elapsed="0.000664"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.032585" elapsed="0.000184"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:05.030449" elapsed="0.002358"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.033361" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.033104" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.033089" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.034113" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.033757" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.034904" level="INFO">${item} =         {
          "group-id": 23000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.034315" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.035092" elapsed="0.000219"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:05.033057" elapsed="0.002294"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.035771" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.035534" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.035518" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.036535" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.036163" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.037318" level="INFO">${item} =         {
          "group-id": 24000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.036717" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.037503" elapsed="0.000182"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:05.035487" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.038140" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.037902" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.037887" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.038906" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.038552" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.039728" level="INFO">${item} =         {
          "group-id": 25000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.039088" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.039913" elapsed="0.000242"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:05.037857" elapsed="0.002340"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.040637" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.040394" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.040379" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.041402" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.041032" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.042162" level="INFO">${item} =         {
          "group-id": 26000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.041583" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.042364" elapsed="0.000184"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:05.040347" elapsed="0.002239"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.043002" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.042765" elapsed="0.000531"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.042750" elapsed="0.000575"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.043829" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.043472" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.044609" level="INFO">${item} =         {
          "group-id": 27000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.044011" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.044793" elapsed="0.000182"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:05.042719" elapsed="0.002294"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.045448" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.045190" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.045175" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.046198" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.045845" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.046987" level="INFO">${item} =         {
          "group-id": 28000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.046407" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.047172" elapsed="0.000245"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:05.045144" elapsed="0.002312"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.047882" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.047644" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.047629" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.048640" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.048289" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.049420" level="INFO">${item} =         {
          "group-id": 29000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.048822" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.049605" elapsed="0.000181"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:05.047598" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.050378" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.050124" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.050109" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.051129" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.050774" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.051930" level="INFO">${item} =         {
          "group-id": 30000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.051346" elapsed="0.000613"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.052114" elapsed="0.000201"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:05.050078" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.052772" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.052533" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.052519" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.053533" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.053162" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.054313" level="INFO">${item} =         {
          "group-id": 31000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.053716" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.054496" elapsed="0.000182"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:05.052488" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.055177" elapsed="0.000237"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.054939" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.054924" elapsed="0.000554"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.055973" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.055621" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.056763" level="INFO">${item} =         {
          "group-id": 32000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.056153" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.056947" elapsed="0.000183"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:05.054893" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.057606" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.057367" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.057352" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.058380" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.058008" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.059142" level="INFO">${item} =         {
          "group-id": 33000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.058562" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.059361" elapsed="0.000188"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:05.057321" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.060004" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.059767" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.059751" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.060762" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.060413" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.061542" level="INFO">${item} =         {
          "group-id": 34000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.060947" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.061724" elapsed="0.000188"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:05.059722" elapsed="0.002228"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.062382" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.062128" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.062113" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.063124" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.062774" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.063962" level="INFO">${item} =         {
          "group-id": 35000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.063321" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.064148" elapsed="0.000204"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:05.062083" elapsed="0.002307"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.064811" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.064572" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.064555" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.065577" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.065208" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.066359" level="INFO">${item} =         {
          "group-id": 36000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.065761" elapsed="0.000661"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.066583" elapsed="0.000187"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:05.064525" elapsed="0.002284"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.067376" elapsed="0.000211"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.067116" elapsed="0.000511"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.067101" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.068157" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.067799" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.068944" level="INFO">${item} =         {
          "group-id": 37000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.068359" elapsed="0.000613"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.069129" elapsed="0.000203"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:05.067070" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.069788" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.069550" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.069535" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.070553" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.070178" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.071334" level="INFO">${item} =         {
          "group-id": 38000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.070738" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.071603" elapsed="0.000191"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:05.069505" elapsed="0.002327"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.072436" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.072177" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.072162" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.073179" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.072828" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.073956" level="INFO">${item} =         {
          "group-id": 39000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.073378" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.074138" elapsed="0.000201"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:05.071967" elapsed="0.002410"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.074792" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.074555" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.074541" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.075572" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.075179" elapsed="0.000420"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.076350" level="INFO">${item} =         {
          "group-id": 40000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.075754" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.076532" elapsed="0.000182"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:05.074511" elapsed="0.002241"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.077168" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.076932" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.076917" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.077930" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.077576" elapsed="0.000429"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.078775" level="INFO">${item} =         {
          "group-id": 41000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.078166" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.078963" elapsed="0.000184"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:05.076887" elapsed="0.002298"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.079656" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.079384" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.079370" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.080421" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.080050" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.081186" level="INFO">${item} =         {
          "group-id": 42000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.080603" elapsed="0.000612"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.081389" elapsed="0.000183"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:05.079339" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.082029" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.081791" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.081777" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.082789" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.082439" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.083591" level="INFO">${item} =         {
          "group-id": 43000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.082969" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.083779" elapsed="0.000184"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:05.081746" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.084568" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.084328" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.084312" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.085333" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.084963" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.086095" level="INFO">${item} =         {
          "group-id": 44000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.085515" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.086298" elapsed="0.000185"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:05.084280" elapsed="0.002240"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.086937" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.086700" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.086685" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.087741" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.087352" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.088523" level="INFO">${item} =         {
          "group-id": 45000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.087922" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.088708" elapsed="0.000190"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:05.086655" elapsed="0.002280"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.089410" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.089116" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.089100" elapsed="0.000564"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.090170" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.089809" elapsed="0.000450"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.091015" level="INFO">${item} =         {
          "group-id": 46000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.090423" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.091202" elapsed="0.000208"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:05.089070" elapsed="0.002379"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.091900" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.091635" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.091620" elapsed="0.000533"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.092670" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.092316" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.093453" level="INFO">${item} =         {
          "group-id": 47000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.092857" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.093637" elapsed="0.000185"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:05.091588" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.094294" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.094040" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.094024" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.095038" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.094688" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.095846" level="INFO">${item} =         {
          "group-id": 48000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.095219" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.096030" elapsed="0.000182"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:05.093994" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.096686" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.096448" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.096433" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.097444" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.097075" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.098204" level="INFO">${item} =         {
          "group-id": 49000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.097625" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.098405" elapsed="0.000183"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:05.096403" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.099051" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.098810" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.098793" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.099830" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.099463" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.100617" level="INFO">${item} =         {
          "group-id": 50000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.100012" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.100841" elapsed="0.000187"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:05.098762" elapsed="0.002303"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.101627" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.101386" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.101370" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.102410" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.102034" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.103175" level="INFO">${item} =         {
          "group-id": 51000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.102595" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.103379" elapsed="0.000186"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:05.101338" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.104050" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.103809" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.103792" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.104812" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.104460" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.105593" level="INFO">${item} =         {
          "group-id": 52000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.104996" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.105777" elapsed="0.000183"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:05.103737" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.106432" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.106177" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.106162" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.107173" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.106822" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.107972" level="INFO">${item} =         {
          "group-id": 53000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.107371" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.108155" elapsed="0.000204"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:05.106132" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.108819" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.108579" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.108564" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.109581" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.109211" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.110358" level="INFO">${item} =         {
          "group-id": 54000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.109763" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.110541" elapsed="0.000183"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:05.108532" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.111184" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.110947" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.110932" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.111976" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.111594" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.112807" level="INFO">${item} =         {
          "group-id": 55000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.112203" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.112992" elapsed="0.000184"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:05.110901" elapsed="0.002313"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.113650" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.113413" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.113398" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.114412" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.114042" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.115187" level="INFO">${item} =         {
          "group-id": 56000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.114594" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.115388" elapsed="0.000184"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:05.113367" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.116044" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.115789" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.115774" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.116804" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.116455" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.117696" level="INFO">${item} =         {
          "group-id": 57000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.116985" elapsed="0.000740"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.117883" elapsed="0.000183"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:05.115744" elapsed="0.002360"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.118544" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.118304" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.118288" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.119307" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.118936" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.120104" level="INFO">${item} =         {
          "group-id": 58000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.119490" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.120316" elapsed="0.000185"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:05.118243" elapsed="0.002296"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.120953" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.120716" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.120702" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.121716" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.121365" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.122493" level="INFO">${item} =         {
          "group-id": 59000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.121897" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.122675" elapsed="0.000182"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:05.120672" elapsed="0.002223"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.123335" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.123078" elapsed="0.000517"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.123061" elapsed="0.000563"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.124144" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.123770" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.124929" level="INFO">${item} =         {
          "group-id": 60000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.124343" elapsed="0.000614"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.125113" elapsed="0.000201"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:05.123029" elapsed="0.002323"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.125767" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.125531" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.125516" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.126529" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.126157" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.127307" level="INFO">${item} =         {
          "group-id": 61000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.126711" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.127491" elapsed="0.000182"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:05.125486" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.128275" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.127893" elapsed="0.000621"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.127876" elapsed="0.000664"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.129041" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.128685" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.129826" level="INFO">${item} =         {
          "group-id": 62000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.129223" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.130010" elapsed="0.000183"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:05.127846" elapsed="0.002384"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.130670" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.130431" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.130416" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.131435" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.131063" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.132236" level="INFO">${item} =         {
          "group-id": 63000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.131616" elapsed="0.000664"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.132435" elapsed="0.000181"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:05.130384" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.133070" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.132833" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.132818" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.133957" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.133482" elapsed="0.000502"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.134741" level="INFO">${item} =         {
          "group-id": 64000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.134140" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.134925" elapsed="0.000186"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:05.132788" elapsed="0.002396"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.135631" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.135389" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.135374" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.136407" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.136019" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.137168" level="INFO">${item} =         {
          "group-id": 65000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.136588" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.137369" elapsed="0.000184"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:05.135342" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.138005" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.137768" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.137753" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.138763" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.138413" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.139536" level="INFO">${item} =         {
          "group-id": 66000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.138943" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.139720" elapsed="0.000182"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:05.137723" elapsed="0.002216"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.140453" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.140153" elapsed="0.000526"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.140136" elapsed="0.000568"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.141198" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.140846" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.141977" level="INFO">${item} =         {
          "group-id": 67000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.141397" elapsed="0.000610"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.142161" elapsed="0.000200"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:05.140073" elapsed="0.002326"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.142816" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.142579" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.142565" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.143575" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.143208" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.144358" level="INFO">${item} =         {
          "group-id": 68000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.143755" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.144542" elapsed="0.000180"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:05.142534" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.145172" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.144937" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.144922" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.145934" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.145579" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.146707" level="INFO">${item} =         {
          "group-id": 69000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.146113" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.146932" elapsed="0.000185"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:05.144892" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.147608" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.147361" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.147346" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.148404" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.148000" elapsed="0.000431"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.149176" level="INFO">${item} =         {
          "group-id": 70000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.148587" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.149379" elapsed="0.000186"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:05.147314" elapsed="0.002289"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.150019" elapsed="0.000338"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.149781" elapsed="0.000616"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.149766" elapsed="0.000656"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.150926" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.150568" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.151714" level="INFO">${item} =         {
          "group-id": 71000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.151112" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.151901" elapsed="0.000182"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:05.149736" elapsed="0.002385"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.152574" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.152334" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.152319" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.153348" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.152966" elapsed="0.000409"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.154106" level="INFO">${item} =         {
          "group-id": 72000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.153530" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.154310" elapsed="0.000185"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:05.152287" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.154949" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.154712" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.154697" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.155703" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.155353" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.156507" level="INFO">${item} =         {
          "group-id": 73000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.155884" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.156689" elapsed="0.000181"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:05.154667" elapsed="0.002240"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.157345" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.157089" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.157071" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.158092" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.157741" elapsed="0.000412"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.158922" level="INFO">${item} =         {
          "group-id": 74000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.158331" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.159106" elapsed="0.000202"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:05.157041" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.159765" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.159527" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.159512" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.160553" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.160152" elapsed="0.000428"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.161330" level="INFO">${item} =         {
          "group-id": 75000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.160735" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.161514" elapsed="0.000181"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:05.159482" elapsed="0.002250"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.162212" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.161968" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.161951" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.162982" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.162627" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.163784" level="INFO">${item} =         {
          "group-id": 76000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.163164" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.163969" elapsed="0.000182"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:05.161915" elapsed="0.002274"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.164863" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.164604" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.164432" elapsed="0.000690"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.165657" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.165296" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.166470" level="INFO">${item} =         {
          "group-id": 77000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.165850" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.166654" elapsed="0.000186"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:05.164398" elapsed="0.002479"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.167500" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.167061" elapsed="0.000668"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.167046" elapsed="0.000709"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.168348" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.167899" elapsed="0.000494"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.169147" level="INFO">${item} =         {
          "group-id": 78000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.168554" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.169354" elapsed="0.000187"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:05.167015" elapsed="0.002565"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.170091" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.169760" elapsed="0.000581"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.169745" elapsed="0.000623"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.170871" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.170514" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.171655" level="INFO">${item} =         {
          "group-id": 79000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.171053" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.171841" elapsed="0.000343"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:05.169715" elapsed="0.002507"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.172709" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.172463" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.172445" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.173489" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.173105" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.174311" level="INFO">${item} =         {
          "group-id": 80000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.173674" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.174500" elapsed="0.000194"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:05.172379" elapsed="0.002354"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.175165" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.174924" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.174906" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.175937" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.175582" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.176749" level="INFO">${item} =         {
          "group-id": 81000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.176118" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.176934" elapsed="0.000187"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:05.174874" elapsed="0.002284"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.177606" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.177364" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.177349" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.178416" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.178036" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.179185" level="INFO">${item} =         {
          "group-id": 82000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.178600" elapsed="0.000615"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.179390" elapsed="0.000189"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:05.177317" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.180043" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.179803" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.179787" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.180872" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.180457" elapsed="0.000443"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.181705" level="INFO">${item} =         {
          "group-id": 83000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.181094" elapsed="0.000640"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.181967" elapsed="0.000191"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:05.179755" elapsed="0.002443"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.182647" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.182405" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.182390" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.183418" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.183043" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.184192" level="INFO">${item} =         {
          "group-id": 84000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.183603" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.184400" elapsed="0.000222"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:05.182358" elapsed="0.002302"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.185456" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.185188" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.184832" elapsed="0.000879"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.186240" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.185870" elapsed="0.000427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.187055" level="INFO">${item} =         {
          "group-id": 85000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.186462" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.187258" elapsed="0.000190"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:05.184801" elapsed="0.002686"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.187910" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.187670" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.187654" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.188739" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.188322" elapsed="0.000445"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.189528" level="INFO">${item} =         {
          "group-id": 86000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.188924" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.189715" elapsed="0.000202"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:05.187623" elapsed="0.002333"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.190449" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.190138" elapsed="0.000542"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.190122" elapsed="0.000583"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.191201" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.190849" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.191989" level="INFO">${item} =         {
          "group-id": 87000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.191400" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.192171" elapsed="0.000201"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:05.190092" elapsed="0.002318"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.192863" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.192594" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.192576" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.193623" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.193270" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.194487" level="INFO">${item} =         {
          "group-id": 88000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.193871" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.194673" elapsed="0.000185"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:05.192545" elapsed="0.002351"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.195332" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.195078" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.195063" elapsed="0.000569"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.196218" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.195779" elapsed="0.000491"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.197214" level="INFO">${item} =         {
          "group-id": 89000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.196469" elapsed="0.000792"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.197420" elapsed="0.000187"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:05.195033" elapsed="0.002612"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.198064" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.197827" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.197812" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.198823" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.198473" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.199604" level="INFO">${item} =         {
          "group-id": 90000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.199002" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.199786" elapsed="0.000183"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:05.197782" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.200445" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.200191" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.200175" elapsed="0.000541"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.201212" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.200861" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.201990" level="INFO">${item} =         {
          "group-id": 91000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.201411" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.202171" elapsed="0.000200"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:05.200144" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.202969" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.202721" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.202574" elapsed="0.000645"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.203740" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.203382" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.204527" level="INFO">${item} =         {
          "group-id": 92000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.203922" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.204712" elapsed="0.000221"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:05.202545" elapsed="0.002427"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.205414" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.205154" elapsed="0.000580"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.205138" elapsed="0.000628"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.206304" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.205917" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.207074" level="INFO">${item} =         {
          "group-id": 93000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.206487" elapsed="0.000616"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.207276" elapsed="0.000188"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:05.205107" elapsed="0.002399"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.207922" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.207685" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.207670" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.208687" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.208329" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.209486" level="INFO">${item} =         {
          "group-id": 94000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.208892" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.209669" elapsed="0.000184"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:05.207639" elapsed="0.002251"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.210321" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.210068" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.210053" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.211128" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.210733" elapsed="0.000422"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.211927" level="INFO">${item} =         {
          "group-id": 95000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.211333" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.212114" elapsed="0.000205"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:05.210023" elapsed="0.002334"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.212777" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.212540" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.212526" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.213622" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.213201" elapsed="0.000455"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.214457" level="INFO">${item} =         {
          "group-id": 96000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.213843" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.214642" elapsed="0.000186"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:05.212494" elapsed="0.002374"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.215306" elapsed="0.000231"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.215052" elapsed="0.000534"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.215035" elapsed="0.000584"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.216146" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.215783" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.216955" level="INFO">${item} =         {
          "group-id": 97000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.216348" elapsed="0.000636"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.217138" elapsed="0.000216"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:05.215004" elapsed="0.002461"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.217928" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.217685" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.217669" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.218733" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.218344" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.219577" level="INFO">${item} =         {
          "group-id": 98000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.218958" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.219764" elapsed="0.000183"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:05.217637" elapsed="0.002348"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.221531" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.221279" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.220150" elapsed="0.001633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.222306" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.221934" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.223069" level="INFO">${item} =         {
          "group-id": 99000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.222489" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.223269" elapsed="0.000187"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:05.220121" elapsed="0.003372"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.223908" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.223671" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.223656" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.224666" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.224314" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.225529" level="INFO">${item} =         {
          "group-id": 100000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
        ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.224852" elapsed="0.000717"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.225772" elapsed="0.000210"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:05.223626" elapsed="0.002395"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:04.977919" elapsed="0.248135"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.227400" level="INFO">${final_text} = {
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
   ...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:05.226219" elapsed="0.001211"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.227500" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:38:05.227690" level="INFO">${data} = {
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
   ...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:04.918651" elapsed="0.309066"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.229291" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.228873" elapsed="0.000502">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.229513" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.228517" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.229894" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.229613" elapsed="0.000343"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.230525" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.230200" elapsed="0.000352"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.229982" elapsed="0.000607"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.229594" elapsed="0.001018"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.233029" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.230771" elapsed="0.002288"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:05.233112" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:05.233288" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:05.228123" elapsed="0.005193"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.234923" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A1</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.234657" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.235382" level="INFO">{
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-1",
          "group-type": "group-select"
        },
        {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-2",
          "group-type": "group-select"
        },
        {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-3",
          "group-type": "group-select"
        },
        {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-4",
          "group-type": "group-select"
        },
        {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-5",
          "group-type": "group-select"
        },
        {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-6",
          "group-type": "group-select"
        },
        {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-7",
          "group-type": "group-select"
        },
        {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-8",
          "group-type": "group-select"
        },
        {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-9",
          "group-type": "group-select"
        },
        {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-10",
          "group-type": "group-select"
        },
        {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-11",
          "group-type": "group-select"
        },
        {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-12",
          "group-type": "group-select"
        },
        {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-13",
          "group-type": "group-select"
        },
        {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-14",
          "group-type": "group-select"
        },
        {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-15",
          "group-type": "group-select"
        },
        {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-16",
          "group-type": "group-select"
        },
        {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-17",
          "group-type": "group-select"
        },
        {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-18",
          "group-type": "group-select"
        },
        {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-19",
          "group-type": "group-select"
        },
        {
          "group-id": 20000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-20",
          "group-type": "group-select"
        },
        {
          "group-id": 21000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-21",
          "group-type": "group-select"
        },
        {
          "group-id": 22000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-22",
          "group-type": "group-select"
        },
        {
          "group-id": 23000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-23",
          "group-type": "group-select"
        },
        {
          "group-id": 24000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-24",
          "group-type": "group-select"
        },
        {
          "group-id": 25000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-25",
          "group-type": "group-select"
        },
        {
          "group-id": 26000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-26",
          "group-type": "group-select"
        },
        {
          "group-id": 27000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-27",
          "group-type": "group-select"
        },
        {
          "group-id": 28000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-28",
          "group-type": "group-select"
        },
        {
          "group-id": 29000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-29",
          "group-type": "group-select"
        },
        {
          "group-id": 30000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-30",
          "group-type": "group-select"
        },
        {
          "group-id": 31000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-31",
          "group-type": "group-select"
        },
        {
          "group-id": 32000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-32",
          "group-type": "group-select"
        },
        {
          "group-id": 33000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-33",
          "group-type": "group-select"
        },
        {
          "group-id": 34000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-34",
          "group-type": "group-select"
        },
        {
          "group-id": 35000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-35",
          "group-type": "group-select"
        },
        {
          "group-id": 36000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-36",
          "group-type": "group-select"
        },
        {
          "group-id": 37000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-37",
          "group-type": "group-select"
        },
        {
          "group-id": 38000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-38",
          "group-type": "group-select"
        },
        {
          "group-id": 39000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-39",
          "group-type": "group-select"
        },
        {
          "group-id": 40000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-40",
          "group-type": "group-select"
        },
        {
          "group-id": 41000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-41",
          "group-type": "group-select"
        },
        {
          "group-id": 42000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-42",
          "group-type": "group-select"
        },
        {
          "group-id": 43000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-43",
          "group-type": "group-select"
        },
        {
          "group-id": 44000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-44",
          "group-type": "group-select"
        },
        {
          "group-id": 45000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-45",
          "group-type": "group-select"
        },
        {
          "group-id": 46000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-46",
          "group-type": "group-select"
        },
        {
          "group-id": 47000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-47",
          "group-type": "group-select"
        },
        {
          "group-id": 48000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-48",
          "group-type": "group-select"
        },
        {
          "group-id": 49000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-49",
          "group-type": "group-select"
        },
        {
          "group-id": 50000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-50",
          "group-type": "group-select"
        },
        {
          "group-id": 51000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-51",
          "group-type": "group-select"
        },
        {
          "group-id": 52000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-52",
          "group-type": "group-select"
        },
        {
          "group-id": 53000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-53",
          "group-type": "group-select"
        },
        {
          "group-id": 54000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-54",
          "group-type": "group-select"
        },
        {
          "group-id": 55000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-55",
          "group-type": "group-select"
        },
        {
          "group-id": 56000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-56",
          "group-type": "group-select"
        },
        {
          "group-id": 57000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-57",
          "group-type": "group-select"
        },
        {
          "group-id": 58000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-58",
          "group-type": "group-select"
        },
        {
          "group-id": 59000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-59",
          "group-type": "group-select"
        },
        {
          "group-id": 60000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-60",
          "group-type": "group-select"
        },
        {
          "group-id": 61000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-61",
          "group-type": "group-select"
        },
        {
          "group-id": 62000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-62",
          "group-type": "group-select"
        },
        {
          "group-id": 63000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-63",
          "group-type": "group-select"
        },
        {
          "group-id": 64000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-64",
          "group-type": "group-select"
        },
        {
          "group-id": 65000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-65",
          "group-type": "group-select"
        },
        {
          "group-id": 66000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-66",
          "group-type": "group-select"
        },
        {
          "group-id": 67000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-67",
          "group-type": "group-select"
        },
        {
          "group-id": 68000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-68",
          "group-type": "group-select"
        },
        {
          "group-id": 69000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-69",
          "group-type": "group-select"
        },
        {
          "group-id": 70000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-70",
          "group-type": "group-select"
        },
        {
          "group-id": 71000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-71",
          "group-type": "group-select"
        },
        {
          "group-id": 72000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-72",
          "group-type": "group-select"
        },
        {
          "group-id": 73000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-73",
          "group-type": "group-select"
        },
        {
          "group-id": 74000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-74",
          "group-type": "group-select"
        },
        {
          "group-id": 75000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-75",
          "group-type": "group-select"
        },
        {
          "group-id": 76000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-76",
          "group-type": "group-select"
        },
        {
          "group-id": 77000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-77",
          "group-type": "group-select"
        },
        {
          "group-id": 78000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-78",
          "group-type": "group-select"
        },
        {
          "group-id": 79000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-79",
          "group-type": "group-select"
        },
        {
          "group-id": 80000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-80",
          "group-type": "group-select"
        },
        {
          "group-id": 81000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-81",
          "group-type": "group-select"
        },
        {
          "group-id": 82000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-82",
          "group-type": "group-select"
        },
        {
          "group-id": 83000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-83",
          "group-type": "group-select"
        },
        {
          "group-id": 84000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-84",
          "group-type": "group-select"
        },
        {
          "group-id": 85000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-85",
          "group-type": "group-select"
        },
        {
          "group-id": 86000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-86",
          "group-type": "group-select"
        },
        {
          "group-id": 87000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-87",
          "group-type": "group-select"
        },
        {
          "group-id": 88000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-88",
          "group-type": "group-select"
        },
        {
          "group-id": 89000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-89",
          "group-type": "group-select"
        },
        {
          "group-id": 90000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-90",
          "group-type": "group-select"
        },
        {
          "group-id": 91000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-91",
          "group-type": "group-select"
        },
        {
          "group-id": 92000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-92",
          "group-type": "group-select"
        },
        {
          "group-id": 93000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-93",
          "group-type": "group-select"
        },
        {
          "group-id": 94000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-94",
          "group-type": "group-select"
        },
        {
          "group-id": 95000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-95",
          "group-type": "group-select"
        },
        {
          "group-id": 96000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-96",
          "group-type": "group-select"
        },
        {
          "group-id": 97000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-97",
          "group-type": "group-select"
        },
        {
          "group-id": 98000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-98",
          "group-type": "group-select"
        },
        {
          "group-id": 99000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-99",
          "group-type": "group-select"
        },
        {
          "group-id": 100000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-100",
          "group-type": "group-select"
        }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.235123" elapsed="0.000768"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.236320" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.236048" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.236767" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.236518" elapsed="0.000294"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:05.237723" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:05.237499" elapsed="0.000251"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:05.238104" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:05.237917" elapsed="0.000214"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.238302" elapsed="0.000201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.238910" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.238661" elapsed="0.000295"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:05.238998" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:05.239155" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:05.237020" elapsed="0.002161"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:05.286054" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '52323', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-1",
          "group-type": "group-select"
        },
        {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-2",
          "group-type": "group-select"
        },
        {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-3",
          "group-type": "group-select"
        },
        {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-4",
          "group-type": "group-select"
        },
        {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-5",
          "group-type": "group-select"
        },
        {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-6",
          "group-type": "group-select"
        },
        {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-7",
          "group-type": "group-select"
        },
        {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-8",
          "group-type": "group-select"
        },
        {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-9",
          "group-type": "group-select"
        },
        {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-10",
          "group-type": "group-select"
        },
        {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-11",
          "group-type": "group-select"
        },
        {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-12",
          "group-type": "group-select"
        },
        {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-13",
          "group-type": "group-select"
        },
        {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-14",
          "group-type": "group-select"
        },
        {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-15",
          "group-type": "group-select"
        },
        {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-16",
          "group-type": "group-select"
        },
        {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-17",
          "group-type": "group-select"
        },
        {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-18",
          "group-type": "group-select"
        },
        {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-19",
          "group-type": "group-select"
        },
        {
          "group-id": 20000,
       ... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:05.286446" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Sun, 24-May-2026 00:38:05 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=5000', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:05.286886" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:05.241582" elapsed="0.045365"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.239432" elapsed="0.047699"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.287604" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.287197" elapsed="0.000561"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.239233" elapsed="0.048574"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.294563" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.290207" elapsed="0.004401"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.289709" elapsed="0.004935"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.289667" elapsed="0.005003"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.297134" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.294953" elapsed="0.002227"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.294726" elapsed="0.002488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.294709" elapsed="0.002533"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.297881" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.297450" elapsed="0.000459"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.298229" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.297978" elapsed="0.000325"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.298809" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.298507" elapsed="0.000330"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.298329" elapsed="0.000543"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.297960" elapsed="0.000934"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.299451" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.299065" elapsed="0.000414"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.299796" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.299548" elapsed="0.000306"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.300372" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.300055" elapsed="0.000344"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.299880" elapsed="0.000554"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.299530" elapsed="0.000926"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:05.300611" elapsed="0.000357"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:05.301599" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.301135" elapsed="0.000491"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.301824" elapsed="0.002225"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:05.288652" elapsed="0.015463"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:05.304314" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:05.304189" elapsed="0.000173"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.304170" elapsed="0.000215"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:05.306828" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:05.304533" elapsed="0.002324"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:05.306905" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:05.307064" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:05.233662" elapsed="0.073427"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.307202" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:05.307378" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:04.826694" elapsed="0.480709"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.307752" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.307511" elapsed="0.000309"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.307493" elapsed="0.000352"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.307879" elapsed="0.000026"/>
</return>
<arg>folder=${VAR_DIR}/add-group-1</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${iter}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:04.824056" elapsed="0.483948"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:04.812299" elapsed="0.495751"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.308726" level="INFO">&amp;{mapping} = { NODE=openflow:2 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.308312" elapsed="0.000443"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.351836" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.351396" elapsed="0.000481"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.352729" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.352440" elapsed="0.000381">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.352931" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.352064" elapsed="0.000892"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.353554" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.353131" elapsed="0.000451"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.353928" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.354106" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.353758" elapsed="0.000478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.354698" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.354441" elapsed="0.000308"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.355799" level="INFO">mapping: {'NODE': 'openflow:2'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.355541" elapsed="0.000303"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.356298" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.356005" elapsed="0.000320"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.357156" level="INFO">${value} = openflow:2</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:05.356771" elapsed="0.000413"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:05.358501" level="INFO">${encoded} = openflow%3A2</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.357762" elapsed="0.000767"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:05.358665" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:38:05.358869" level="INFO">${encoded_value} = openflow%3A2</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:05.357409" elapsed="0.001487"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.359058" elapsed="0.000323"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:38:05.356614" elapsed="0.002811"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:05.356380" elapsed="0.003085"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:05.359511" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:05.359674" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:05.355194" elapsed="0.004507"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.354844" elapsed="0.004890"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.359930" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.359762" elapsed="0.000230"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.354811" elapsed="0.005203"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.361017" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A2</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.360162" elapsed="0.000885"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.361097" elapsed="0.000030"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.350671" elapsed="0.010555"/>
</kw>
<msg time="2026-05-25T00:38:05.361303" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:05.337925" elapsed="0.023432"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.375897" elapsed="0.000032"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.387804" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.399704" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.399911" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.400095" elapsed="0.000020"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.400514" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.400362" elapsed="0.000210"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:05.400345" elapsed="0.000252"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.400740" elapsed="0.000081"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.400975" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.401142" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:05.400308" elapsed="0.000887"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:05.400181" elapsed="0.001042"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.401393" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:05.401470" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:05.401599" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A2</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:05.333607" elapsed="0.068018"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:05.412329" elapsed="0.000376"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.425627" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.425229" elapsed="0.000427"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.426620" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.426354" elapsed="0.000348">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.426799" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.425819" elapsed="0.001020"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.427414" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.427006" elapsed="0.000436"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.427747" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.427913" level="INFO">${template} = {
  "flow-node-inventory:group": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.427605" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.428362" level="INFO">{
  "flow-node-inventory:group": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.428096" elapsed="0.000314"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:05.428771" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.428476" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.429312" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.429001" elapsed="0.000338"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.428855" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.428457" elapsed="0.000939"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.429976" level="INFO">${final_text} = {
  "flow-node-inventory:group": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.429543" elapsed="0.000462"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.430053" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:05.430206" level="INFO">${prolog} = {
  "flow-node-inventory:group": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.424607" elapsed="0.005625"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.443566" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.443165" elapsed="0.000431"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.444322" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.444095" elapsed="0.000291">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.444478" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.443760" elapsed="0.000742"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.445049" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.444666" elapsed="0.000410"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.445385" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.445509" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.445238" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.445937" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.445689" elapsed="0.000292"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:05.446351" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.446046" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.446872" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.446580" elapsed="0.000319"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.446434" elapsed="0.000499"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.446028" elapsed="0.000927"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.447569" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.447128" elapsed="0.000469"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.447645" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:05.447795" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.442525" elapsed="0.005296"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.460965" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.460592" elapsed="0.000401"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.461713" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.461507" elapsed="0.000268">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.461873" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.461154" elapsed="0.000743"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.462465" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.462063" elapsed="0.000429"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.462787" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.462950" level="INFO">${template} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.462653" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.463430" level="INFO">        {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-${i}",
          "group-type": "group-select"
        }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.463133" elapsed="0.000345"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:05.463834" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.463545" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.464373" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.464063" elapsed="0.000337"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.463917" elapsed="0.000518"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.463526" elapsed="0.000931"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.465185" level="INFO">${final_text} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.464603" elapsed="0.000611"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.465280" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:05.465437" level="INFO">${item_template} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.460034" elapsed="0.005430"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.465867" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:05.465626" elapsed="0.000267"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.466469" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.466073" elapsed="0.000423"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.467139" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.466900" elapsed="0.000299"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.466885" elapsed="0.000348"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.467749" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.467394" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.468703" level="INFO">${item} =         {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.467931" elapsed="0.000801"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.468889" elapsed="0.000203"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:05.466852" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.469569" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.469329" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.469313" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.470333" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.469961" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.471094" level="INFO">${item} =         {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.470516" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.471333" elapsed="0.000187"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:05.469281" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.472014" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.471775" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.471760" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.472782" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.472428" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.473558" level="INFO">${item} =         {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.472964" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.473744" elapsed="0.000184"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:05.471729" elapsed="0.002237"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.474403" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.474145" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.474130" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.475148" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.474796" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.475937" level="INFO">${item} =         {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.475362" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.476120" elapsed="0.000203"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:05.474099" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.476778" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.476540" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.476525" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.477544" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.477170" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.478321" level="INFO">${item} =         {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.477726" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.478506" elapsed="0.000184"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:05.476495" elapsed="0.002233"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.479145" elapsed="0.000227"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.478909" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.478893" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.479933" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.479580" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.480706" level="INFO">${item} =         {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.480114" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.480888" elapsed="0.000182"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:05.478863" elapsed="0.002244"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.481538" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.481301" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.481286" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.482295" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.481928" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.483049" level="INFO">${item} =         {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.482476" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.483283" elapsed="0.000199"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:05.481255" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.483946" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.483704" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.483689" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.484718" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.484360" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.485623" level="INFO">${item} =         {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.484902" elapsed="0.000750"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.485809" elapsed="0.000182"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:05.483658" elapsed="0.002370"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.486462" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.486206" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.486191" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.487202" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.486853" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.488007" level="INFO">${item} =         {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.487431" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.488190" elapsed="0.000200"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:05.486161" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.488844" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.488607" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.488592" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.489601" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.489232" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.490373" level="INFO">${item} =         {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.489781" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.490557" elapsed="0.000181"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:05.488562" elapsed="0.002213"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.491231" elapsed="0.000219"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.490990" elapsed="0.000499"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.490975" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.492009" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.491658" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.492787" level="INFO">${item} =         {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.492190" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.492968" elapsed="0.000183"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:05.490943" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.493620" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.493383" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.493368" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.494377" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.494009" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.495176" level="INFO">${item} =         {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.494593" elapsed="0.000612"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.495379" elapsed="0.000216"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:05.493338" elapsed="0.002296"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.496048" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.495811" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.495796" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.496810" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.496458" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.497584" level="INFO">${item} =         {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.496993" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.497768" elapsed="0.000181"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:05.495766" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.498420" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.498164" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.498149" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.499162" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.498811" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.499964" level="INFO">${item} =         {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.499361" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.500147" elapsed="0.000200"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:05.498119" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.500803" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.500565" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.500549" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.501683" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.501193" elapsed="0.000517"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.502461" level="INFO">${item} =         {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.501865" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.502644" elapsed="0.000183"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:05.500519" elapsed="0.002346"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.503296" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.503042" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.503027" elapsed="0.000550"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.504074" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.503724" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.504848" level="INFO">${item} =         {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.504269" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.505031" elapsed="0.000181"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:05.502997" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.505685" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.505449" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.505434" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.506491" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.506118" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.507266" level="INFO">${item} =         {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.506675" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.507452" elapsed="0.000202"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:05.505403" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.508104" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.507869" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.507854" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.508872" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.508521" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.509648" level="INFO">${item} =         {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.509053" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.509832" elapsed="0.000181"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:05.507824" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.510485" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.510228" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.510213" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.511228" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.510878" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.512047" level="INFO">${item} =         {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.511429" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.512232" elapsed="0.000201"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:05.510183" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.512886" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.512649" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.512634" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.513642" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.513293" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.514417" level="INFO">${item} =         {
          "group-id": 20000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.513822" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.514599" elapsed="0.000182"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:05.512604" elapsed="0.002213"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.515233" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.514996" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.514981" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.516015" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.515644" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.516795" level="INFO">${item} =         {
          "group-id": 21000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.516196" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.516979" elapsed="0.000183"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:05.514951" elapsed="0.002287"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.517671" elapsed="0.000304"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.517434" elapsed="0.000580"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.517418" elapsed="0.000622"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.518555" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.518182" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.519331" level="INFO">${item} =         {
          "group-id": 22000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.518738" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.519517" elapsed="0.000247"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:05.517388" elapsed="0.002420"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.520227" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.519990" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.519974" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.520989" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.520639" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.521770" level="INFO">${item} =         {
          "group-id": 23000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.521171" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.521953" elapsed="0.000182"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:05.519944" elapsed="0.002228"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.522605" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.522368" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.522354" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.523360" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.522992" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.524133" level="INFO">${item} =         {
          "group-id": 24000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.523541" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.524334" elapsed="0.000183"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:05.522323" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.524968" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.524731" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.524716" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.525729" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.525377" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.526504" level="INFO">${item} =         {
          "group-id": 25000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.525910" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.526689" elapsed="0.000182"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:05.524687" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.527341" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.527087" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.527072" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.528115" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.527735" elapsed="0.000407"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.528893" level="INFO">${item} =         {
          "group-id": 26000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.528314" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.529116" elapsed="0.000204"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:05.527041" elapsed="0.002318"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.529776" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.529539" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.529524" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.530537" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.530166" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.531318" level="INFO">${item} =         {
          "group-id": 27000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.530718" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.531501" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:05.529493" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.532158" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.531921" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.531907" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.532918" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.532568" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.533696" level="INFO">${item} =         {
          "group-id": 28000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.533097" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.533879" elapsed="0.000183"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:05.531876" elapsed="0.002223"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.534655" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.534301" elapsed="0.000579"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.534283" elapsed="0.000623"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.535421" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.535050" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.536226" level="INFO">${item} =         {
          "group-id": 29000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.535603" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.536428" elapsed="0.000184"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:05.534238" elapsed="0.002411"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.537062" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.536827" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.536812" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.537820" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.537469" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.538595" level="INFO">${item} =         {
          "group-id": 30000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.538001" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.538778" elapsed="0.000182"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:05.536783" elapsed="0.002214"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.539430" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.539175" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.539160" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.540204" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.539821" elapsed="0.000460"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.541121" level="INFO">${item} =         {
          "group-id": 31000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.540443" elapsed="0.000708"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.541330" elapsed="0.000187"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:05.539131" elapsed="0.002424"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.541971" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.541734" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.541719" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.542731" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.542379" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.543508" level="INFO">${item} =         {
          "group-id": 32000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.542911" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.543692" elapsed="0.000183"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:05.541689" elapsed="0.002224"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.544383" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.544128" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.544113" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.545131" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.544778" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.545908" level="INFO">${item} =         {
          "group-id": 33000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.545328" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.546096" elapsed="0.000202"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:05.544083" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.546771" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.546519" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.546503" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.547579" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.547200" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.548389" level="INFO">${item} =         {
          "group-id": 34000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.547761" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.548572" elapsed="0.000182"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:05.546473" elapsed="0.002319"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.549211" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.548973" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.548958" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.549979" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.549624" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.550761" level="INFO">${item} =         {
          "group-id": 35000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.550159" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.550945" elapsed="0.000183"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:05.548927" elapsed="0.002239"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.551751" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.551472" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.551349" elapsed="0.000681"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.552555" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.552181" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.553333" level="INFO">${item} =         {
          "group-id": 36000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.552738" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.553517" elapsed="0.000182"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:05.551319" elapsed="0.002418"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.554151" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.553915" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.553900" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.554941" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.554589" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.555716" level="INFO">${item} =         {
          "group-id": 37000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.555121" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.555899" elapsed="0.000325"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:05.553870" elapsed="0.002406"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.556692" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.556455" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.556440" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.557449" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.557081" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.558204" level="INFO">${item} =         {
          "group-id": 38000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.557631" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.558405" elapsed="0.000183"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:05.556410" elapsed="0.002214"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.559038" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.558802" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.558787" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.559797" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.559445" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.560637" level="INFO">${item} =         {
          "group-id": 39000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.560006" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.560821" elapsed="0.000182"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:05.558758" elapsed="0.002282"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.561474" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.561217" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.561202" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.562216" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.561866" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.562996" level="INFO">${item} =         {
          "group-id": 40000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.562416" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.563226" elapsed="0.000204"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:05.561173" elapsed="0.002295"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.563884" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.563647" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.563631" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.564663" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.564310" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.565455" level="INFO">${item} =         {
          "group-id": 41000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.564845" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.565639" elapsed="0.000180"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:05.563602" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.566290" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.566035" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.566020" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.567034" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.566684" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.567809" level="INFO">${item} =         {
          "group-id": 42000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.567214" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.567991" elapsed="0.000305"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:05.565990" elapsed="0.002349"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.568882" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.568629" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.568508" elapsed="0.000625"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.569646" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.569292" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.570421" level="INFO">${item} =         {
          "group-id": 43000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.569826" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.570606" elapsed="0.000183"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:05.568477" elapsed="0.002349"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.571255" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.571003" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.570988" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.571996" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.571648" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.572842" level="INFO">${item} =         {
          "group-id": 44000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.572177" elapsed="0.000694"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.573026" elapsed="0.000183"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:05.570958" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.573682" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.573444" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.573429" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.574445" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.574071" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.575257" level="INFO">${item} =         {
          "group-id": 45000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.574663" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.575444" elapsed="0.000183"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:05.573398" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.576076" elapsed="0.000235"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.575841" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.575826" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.576874" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.576522" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.577735" level="INFO">${item} =         {
          "group-id": 46000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.577141" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.577919" elapsed="0.000182"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:05.575796" elapsed="0.002343"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.578572" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.578334" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.578319" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.579338" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.578967" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.580096" level="INFO">${item} =         {
          "group-id": 47000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.579519" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.580313" elapsed="0.000186"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:05.578288" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.580948" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.580713" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.580697" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.581702" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.581352" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.582482" level="INFO">${item} =         {
          "group-id": 48000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.581888" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.582664" elapsed="0.000182"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:05.580667" elapsed="0.002217"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.583318" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.583065" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.583050" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.584065" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.583713" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.585007" level="INFO">${item} =         {
          "group-id": 49000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.584293" elapsed="0.000744"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.585196" elapsed="0.000208"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:05.583020" elapsed="0.002423"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.586966" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.586703" elapsed="0.000526"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.585609" elapsed="0.001668"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.587800" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.587427" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.588628" level="INFO">${item} =         {
          "group-id": 50000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.587997" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.588826" elapsed="0.000193"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:05.585578" elapsed="0.003479"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.589505" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.589259" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.589226" elapsed="0.000533"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.590295" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.589913" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.591098" level="INFO">${item} =         {
          "group-id": 51000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.590480" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.591307" elapsed="0.000189"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:05.589194" elapsed="0.002341"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.591971" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.591719" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.591704" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.592804" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.592431" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.593599" level="INFO">${item} =         {
          "group-id": 52000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.592989" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.593787" elapsed="0.000201"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:05.591674" elapsed="0.002352"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.594479" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.594210" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.594195" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.595262" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.594886" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.596029" level="INFO">${item} =         {
          "group-id": 53000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.595447" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.596214" elapsed="0.000204"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:05.594164" elapsed="0.002312"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.596914" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.596661" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.596646" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.597705" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.597332" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.598515" level="INFO">${item} =         {
          "group-id": 54000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.597906" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.598702" elapsed="0.000186"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:05.596616" elapsed="0.002351"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.599415" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.599152" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.599136" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.600185" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.599813" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.601296" level="INFO">${item} =         {
          "group-id": 55000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.600390" elapsed="0.000936"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.601485" elapsed="0.000189"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:05.599106" elapsed="0.002608"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.602140" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.601900" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.601885" elapsed="0.000533"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.602952" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.602567" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.603753" level="INFO">${item} =         {
          "group-id": 56000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.603138" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.603954" elapsed="0.000190"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:05.601853" elapsed="0.002330"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.604925" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.604636" elapsed="0.000528"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.604375" elapsed="0.000817"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.605731" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.605363" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.606570" level="INFO">${item} =         {
          "group-id": 57000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.605943" elapsed="0.000657"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.606802" elapsed="0.000220"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:05.604343" elapsed="0.002720"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.607520" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.607272" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.607240" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.608324" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.607941" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.609525" level="INFO">${item} =         {
          "group-id": 58000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.608509" elapsed="0.001060"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.609799" elapsed="0.000281"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:05.607204" elapsed="0.002931"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.610761" elapsed="0.000290"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.610422" elapsed="0.000686"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.610401" elapsed="0.000743"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.611904" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.611378" elapsed="0.000566"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.613270" level="INFO">${item} =         {
          "group-id": 59000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.612164" elapsed="0.001198"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.613590" elapsed="0.000285"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:05.610356" elapsed="0.003576"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.614554" elapsed="0.000274"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.614190" elapsed="0.000707"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.614168" elapsed="0.000765"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.615674" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.615139" elapsed="0.000573"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.617048" level="INFO">${item} =         {
          "group-id": 60000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.615953" elapsed="0.001137"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.617344" elapsed="0.000264"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:05.614125" elapsed="0.003537"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.618154" elapsed="0.000213"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.617912" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.617896" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.618944" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.618576" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.619742" level="INFO">${item} =         {
          "group-id": 61000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.619125" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.619947" elapsed="0.000192"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:05.617863" elapsed="0.002315"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.620629" elapsed="0.000231"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.620386" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.620371" elapsed="0.000555"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.621454" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.621073" elapsed="0.000409"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.622230" level="INFO">${item} =         {
          "group-id": 62000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.621639" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.622433" elapsed="0.000185"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:05.620338" elapsed="0.002318"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.623076" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.622838" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.622823" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.623839" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.623486" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.624633" level="INFO">${item} =         {
          "group-id": 63000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.624021" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.624858" elapsed="0.000186"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:05.622793" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.625655" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.625410" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.625270" elapsed="0.000640"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.626429" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.626054" elapsed="0.000438"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.627241" level="INFO">${item} =         {
          "group-id": 64000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.626652" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.627443" elapsed="0.000184"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:05.625221" elapsed="0.002444"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.628085" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.627848" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.627833" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.628870" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.628496" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.629646" level="INFO">${item} =         {
          "group-id": 65000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.629052" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.629830" elapsed="0.000182"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:05.627802" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.630483" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.630228" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.630213" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.631221" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.630871" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.631995" level="INFO">${item} =         {
          "group-id": 66000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.631421" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.632178" elapsed="0.000200"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:05.630183" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.632865" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.632605" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.632590" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.633628" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.633272" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.634407" level="INFO">${item} =         {
          "group-id": 67000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.633810" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.634592" elapsed="0.000183"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:05.632560" elapsed="0.002252"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.635226" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.634990" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.634976" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.635981" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.635634" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.636761" level="INFO">${item} =         {
          "group-id": 68000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.636161" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.637080" elapsed="0.000214"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:05.634946" elapsed="0.002388"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.637802" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.637516" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.637502" elapsed="0.000560"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.638585" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.638208" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.639370" level="INFO">${item} =         {
          "group-id": 69000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.638770" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.639556" elapsed="0.000184"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:05.637470" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.640194" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.639958" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.639943" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.640991" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.640603" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.641773" level="INFO">${item} =         {
          "group-id": 70000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.641175" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.641958" elapsed="0.000182"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:05.639913" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.642731" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.642488" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.642362" elapsed="0.000617"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.643493" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.643122" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.644268" level="INFO">${item} =         {
          "group-id": 71000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.643675" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.644455" elapsed="0.000183"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:05.642332" elapsed="0.002344"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.645118" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.644858" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.644841" elapsed="0.000540"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.645875" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.645525" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.646646" level="INFO">${item} =         {
          "group-id": 72000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.646055" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.646828" elapsed="0.000180"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:05.644810" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.647478" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.647224" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.647209" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.648218" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.647869" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.649031" level="INFO">${item} =         {
          "group-id": 73000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.648418" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.649265" elapsed="0.000187"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:05.647179" elapsed="0.002311"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.649905" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.649668" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.649653" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.650674" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.650322" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.651448" level="INFO">${item} =         {
          "group-id": 74000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.650855" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.651632" elapsed="0.000182"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:05.649623" elapsed="0.002228"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.652284" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.652029" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.652014" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.653116" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.652677" elapsed="0.000467"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.653915" level="INFO">${item} =         {
          "group-id": 75000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.653318" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.654098" elapsed="0.000203"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:05.651985" elapsed="0.002354"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.654755" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.654518" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.654501" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.655515" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.655143" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.656287" level="INFO">${item} =         {
          "group-id": 76000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.655694" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.656470" elapsed="0.000182"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:05.654471" elapsed="0.002218"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.657172" elapsed="0.000223"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.656867" elapsed="0.000568"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.656851" elapsed="0.000610"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.657964" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.657607" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.658748" level="INFO">${item} =         {
          "group-id": 77000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.658146" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.658930" elapsed="0.000182"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:05.656822" elapsed="0.002327"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.659698" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.659458" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.659332" elapsed="0.000614"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.660460" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.660088" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.661296" level="INFO">${item} =         {
          "group-id": 78000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.660678" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.661482" elapsed="0.000182"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:05.659301" elapsed="0.002400"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.662116" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.661879" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.661864" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.662877" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.662527" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.663677" level="INFO">${item} =         {
          "group-id": 79000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.663060" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.663860" elapsed="0.000182"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:05.661834" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.664512" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.664274" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.664257" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.665310" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.664901" elapsed="0.000437"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.666079" level="INFO">${item} =         {
          "group-id": 80000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.665492" elapsed="0.000616"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.666279" elapsed="0.000185"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:05.664211" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.666917" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.666679" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.666664" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.667680" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.667326" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.668459" level="INFO">${item} =         {
          "group-id": 81000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.667862" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.668643" elapsed="0.000182"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:05.666634" elapsed="0.002228"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.669365" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.669040" elapsed="0.000553"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.669025" elapsed="0.000594"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.670123" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.669763" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.670897" level="INFO">${item} =         {
          "group-id": 82000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.670319" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.671078" elapsed="0.000200"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:05.668995" elapsed="0.002323"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.671730" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.671495" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.671481" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.672533" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.672157" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.673383" level="INFO">${item} =         {
          "group-id": 83000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.672715" elapsed="0.000697"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.673569" elapsed="0.000183"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:05.671451" elapsed="0.002339"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.674204" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.673968" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.673953" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.674966" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.674615" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.675743" level="INFO">${item} =         {
          "group-id": 84000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.675146" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.675925" elapsed="0.000180"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:05.673923" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.676690" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.676447" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.676325" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.677471" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.677082" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.678229" level="INFO">${item} =         {
          "group-id": 85000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.677652" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.678431" elapsed="0.000184"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:05.676295" elapsed="0.002358"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.679067" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.678830" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.678815" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.679834" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.679479" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.680613" level="INFO">${item} =         {
          "group-id": 86000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.680017" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.680795" elapsed="0.000182"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:05.678785" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.681479" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.681193" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.681178" elapsed="0.000549"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.682384" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.681871" elapsed="0.000540"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.683145" level="INFO">${item} =         {
          "group-id": 87000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.682566" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.683345" elapsed="0.000184"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:05.681148" elapsed="0.002457"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.684024" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.683786" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.683770" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.684789" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.684436" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.685581" level="INFO">${item} =         {
          "group-id": 88000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.684971" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.685766" elapsed="0.000182"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:05.683740" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.686420" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.686164" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.686149" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.687167" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.686812" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.687946" level="INFO">${item} =         {
          "group-id": 89000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.687371" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.688129" elapsed="0.000199"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:05.686119" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.688780" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.688544" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.688528" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.690464" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.689170" elapsed="0.001408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.692848" level="INFO">${item} =         {
          "group-id": 90000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.691136" elapsed="0.001784"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.693327" elapsed="0.000567"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:05.688499" elapsed="0.005493"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.695146" elapsed="0.000480"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.694559" elapsed="0.001160"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.694513" elapsed="0.001288"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.697019" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.696141" elapsed="0.000943"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.698964" level="INFO">${item} =         {
          "group-id": 91000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.697531" elapsed="0.001505"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.699434" elapsed="0.000426"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:05.694423" elapsed="0.005541"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.701516" elapsed="0.000376"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.700831" elapsed="0.001103"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.700388" elapsed="0.001573"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.702504" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.702119" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.703320" level="INFO">${item} =         {
          "group-id": 92000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.702691" elapsed="0.000733"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.703588" elapsed="0.000187"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:05.700314" elapsed="0.003500"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.704269" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.704000" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.703984" elapsed="0.000544"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.705032" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.704674" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.705889" level="INFO">${item} =         {
          "group-id": 93000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.705229" elapsed="0.000693"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.706089" elapsed="0.000214"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:05.703953" elapsed="0.002389"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.706774" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.706530" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.706513" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.707580" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.707194" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.708390" level="INFO">${item} =         {
          "group-id": 94000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.707767" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.708581" elapsed="0.000197"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:05.706482" elapsed="0.002334"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.709272" elapsed="0.000223"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.709004" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.708986" elapsed="0.000587"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.710093" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.709722" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.710915" level="INFO">${item} =         {
          "group-id": 95000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.710308" elapsed="0.000636"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.711105" elapsed="0.000221"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:05.708955" elapsed="0.002412"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.711813" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.711561" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.711544" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.712605" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.712217" elapsed="0.000416"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.713414" level="INFO">${item} =         {
          "group-id": 96000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.712789" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.713631" elapsed="0.000201"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:05.711511" elapsed="0.002361"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.714331" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.714057" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.714041" elapsed="0.000553"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.715106" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.714741" elapsed="0.000444"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.715983" level="INFO">${item} =         {
          "group-id": 97000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.715377" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.716178" elapsed="0.000220"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:05.714009" elapsed="0.002431"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.716873" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.716628" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.716612" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.717733" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.717299" elapsed="0.000462"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.718549" level="INFO">${item} =         {
          "group-id": 98000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.717923" elapsed="0.000657"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.718742" elapsed="0.000195"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:05.716581" elapsed="0.002396"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.719574" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.719314" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.719148" elapsed="0.000695"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.720386" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.719990" elapsed="0.000427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.721184" level="INFO">${item} =         {
          "group-id": 99000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.720586" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.721396" elapsed="0.000223"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:05.719117" elapsed="0.002543"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.722098" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.721853" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.721837" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.722905" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.722538" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.723721" level="INFO">${item} =         {
          "group-id": 100000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
        ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.723092" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.723912" elapsed="0.000189"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:05.721806" elapsed="0.002333"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:05.466554" elapsed="0.257620"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.725535" level="INFO">${final_text} = {
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
   ...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:05.724363" elapsed="0.001206"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.725713" elapsed="0.000056"/>
</return>
<msg time="2026-05-25T00:38:05.725926" level="INFO">${data} = {
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
   ...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:05.411421" elapsed="0.314533"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.727562" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.727196" elapsed="0.000449">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.727743" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.726839" elapsed="0.000929"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.728092" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.727839" elapsed="0.000312"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.728712" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.728414" elapsed="0.000324"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.728176" elapsed="0.000598"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.727821" elapsed="0.000975"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.731228" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.728954" elapsed="0.002315"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:05.731321" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:05.731479" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:05.726447" elapsed="0.005057"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.733078" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A2</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.732816" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.733533" level="INFO">{
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-1",
          "group-type": "group-select"
        },
        {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-2",
          "group-type": "group-select"
        },
        {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-3",
          "group-type": "group-select"
        },
        {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-4",
          "group-type": "group-select"
        },
        {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-5",
          "group-type": "group-select"
        },
        {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-6",
          "group-type": "group-select"
        },
        {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-7",
          "group-type": "group-select"
        },
        {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-8",
          "group-type": "group-select"
        },
        {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-9",
          "group-type": "group-select"
        },
        {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-10",
          "group-type": "group-select"
        },
        {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-11",
          "group-type": "group-select"
        },
        {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-12",
          "group-type": "group-select"
        },
        {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-13",
          "group-type": "group-select"
        },
        {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-14",
          "group-type": "group-select"
        },
        {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-15",
          "group-type": "group-select"
        },
        {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-16",
          "group-type": "group-select"
        },
        {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-17",
          "group-type": "group-select"
        },
        {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-18",
          "group-type": "group-select"
        },
        {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-19",
          "group-type": "group-select"
        },
        {
          "group-id": 20000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-20",
          "group-type": "group-select"
        },
        {
          "group-id": 21000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-21",
          "group-type": "group-select"
        },
        {
          "group-id": 22000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-22",
          "group-type": "group-select"
        },
        {
          "group-id": 23000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-23",
          "group-type": "group-select"
        },
        {
          "group-id": 24000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-24",
          "group-type": "group-select"
        },
        {
          "group-id": 25000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-25",
          "group-type": "group-select"
        },
        {
          "group-id": 26000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-26",
          "group-type": "group-select"
        },
        {
          "group-id": 27000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-27",
          "group-type": "group-select"
        },
        {
          "group-id": 28000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-28",
          "group-type": "group-select"
        },
        {
          "group-id": 29000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-29",
          "group-type": "group-select"
        },
        {
          "group-id": 30000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-30",
          "group-type": "group-select"
        },
        {
          "group-id": 31000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-31",
          "group-type": "group-select"
        },
        {
          "group-id": 32000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-32",
          "group-type": "group-select"
        },
        {
          "group-id": 33000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-33",
          "group-type": "group-select"
        },
        {
          "group-id": 34000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-34",
          "group-type": "group-select"
        },
        {
          "group-id": 35000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-35",
          "group-type": "group-select"
        },
        {
          "group-id": 36000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-36",
          "group-type": "group-select"
        },
        {
          "group-id": 37000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-37",
          "group-type": "group-select"
        },
        {
          "group-id": 38000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-38",
          "group-type": "group-select"
        },
        {
          "group-id": 39000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-39",
          "group-type": "group-select"
        },
        {
          "group-id": 40000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-40",
          "group-type": "group-select"
        },
        {
          "group-id": 41000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-41",
          "group-type": "group-select"
        },
        {
          "group-id": 42000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-42",
          "group-type": "group-select"
        },
        {
          "group-id": 43000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-43",
          "group-type": "group-select"
        },
        {
          "group-id": 44000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-44",
          "group-type": "group-select"
        },
        {
          "group-id": 45000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-45",
          "group-type": "group-select"
        },
        {
          "group-id": 46000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-46",
          "group-type": "group-select"
        },
        {
          "group-id": 47000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-47",
          "group-type": "group-select"
        },
        {
          "group-id": 48000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-48",
          "group-type": "group-select"
        },
        {
          "group-id": 49000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-49",
          "group-type": "group-select"
        },
        {
          "group-id": 50000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-50",
          "group-type": "group-select"
        },
        {
          "group-id": 51000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-51",
          "group-type": "group-select"
        },
        {
          "group-id": 52000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-52",
          "group-type": "group-select"
        },
        {
          "group-id": 53000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-53",
          "group-type": "group-select"
        },
        {
          "group-id": 54000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-54",
          "group-type": "group-select"
        },
        {
          "group-id": 55000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-55",
          "group-type": "group-select"
        },
        {
          "group-id": 56000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-56",
          "group-type": "group-select"
        },
        {
          "group-id": 57000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-57",
          "group-type": "group-select"
        },
        {
          "group-id": 58000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-58",
          "group-type": "group-select"
        },
        {
          "group-id": 59000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-59",
          "group-type": "group-select"
        },
        {
          "group-id": 60000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-60",
          "group-type": "group-select"
        },
        {
          "group-id": 61000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-61",
          "group-type": "group-select"
        },
        {
          "group-id": 62000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-62",
          "group-type": "group-select"
        },
        {
          "group-id": 63000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-63",
          "group-type": "group-select"
        },
        {
          "group-id": 64000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-64",
          "group-type": "group-select"
        },
        {
          "group-id": 65000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-65",
          "group-type": "group-select"
        },
        {
          "group-id": 66000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-66",
          "group-type": "group-select"
        },
        {
          "group-id": 67000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-67",
          "group-type": "group-select"
        },
        {
          "group-id": 68000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-68",
          "group-type": "group-select"
        },
        {
          "group-id": 69000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-69",
          "group-type": "group-select"
        },
        {
          "group-id": 70000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-70",
          "group-type": "group-select"
        },
        {
          "group-id": 71000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-71",
          "group-type": "group-select"
        },
        {
          "group-id": 72000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-72",
          "group-type": "group-select"
        },
        {
          "group-id": 73000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-73",
          "group-type": "group-select"
        },
        {
          "group-id": 74000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-74",
          "group-type": "group-select"
        },
        {
          "group-id": 75000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-75",
          "group-type": "group-select"
        },
        {
          "group-id": 76000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-76",
          "group-type": "group-select"
        },
        {
          "group-id": 77000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-77",
          "group-type": "group-select"
        },
        {
          "group-id": 78000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-78",
          "group-type": "group-select"
        },
        {
          "group-id": 79000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-79",
          "group-type": "group-select"
        },
        {
          "group-id": 80000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-80",
          "group-type": "group-select"
        },
        {
          "group-id": 81000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-81",
          "group-type": "group-select"
        },
        {
          "group-id": 82000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-82",
          "group-type": "group-select"
        },
        {
          "group-id": 83000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-83",
          "group-type": "group-select"
        },
        {
          "group-id": 84000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-84",
          "group-type": "group-select"
        },
        {
          "group-id": 85000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-85",
          "group-type": "group-select"
        },
        {
          "group-id": 86000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-86",
          "group-type": "group-select"
        },
        {
          "group-id": 87000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-87",
          "group-type": "group-select"
        },
        {
          "group-id": 88000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-88",
          "group-type": "group-select"
        },
        {
          "group-id": 89000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-89",
          "group-type": "group-select"
        },
        {
          "group-id": 90000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-90",
          "group-type": "group-select"
        },
        {
          "group-id": 91000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-91",
          "group-type": "group-select"
        },
        {
          "group-id": 92000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-92",
          "group-type": "group-select"
        },
        {
          "group-id": 93000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-93",
          "group-type": "group-select"
        },
        {
          "group-id": 94000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-94",
          "group-type": "group-select"
        },
        {
          "group-id": 95000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-95",
          "group-type": "group-select"
        },
        {
          "group-id": 96000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-96",
          "group-type": "group-select"
        },
        {
          "group-id": 97000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-97",
          "group-type": "group-select"
        },
        {
          "group-id": 98000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-98",
          "group-type": "group-select"
        },
        {
          "group-id": 99000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-99",
          "group-type": "group-select"
        },
        {
          "group-id": 100000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-100",
          "group-type": "group-select"
        }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.733293" elapsed="0.000782"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.734501" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.734232" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.734937" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.734697" elapsed="0.000283"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:05.735814" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:05.735611" elapsed="0.000236"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:05.736178" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:05.736001" elapsed="0.000203"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.736374" elapsed="0.000203"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.736978" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.736733" elapsed="0.000289"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:05.737064" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:05.737218" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:05.735183" elapsed="0.002075"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:05.769630" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '52323', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-1",
          "group-type": "group-select"
        },
        {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-2",
          "group-type": "group-select"
        },
        {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-3",
          "group-type": "group-select"
        },
        {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-4",
          "group-type": "group-select"
        },
        {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-5",
          "group-type": "group-select"
        },
        {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-6",
          "group-type": "group-select"
        },
        {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-7",
          "group-type": "group-select"
        },
        {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-8",
          "group-type": "group-select"
        },
        {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-9",
          "group-type": "group-select"
        },
        {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-10",
          "group-type": "group-select"
        },
        {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-11",
          "group-type": "group-select"
        },
        {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-12",
          "group-type": "group-select"
        },
        {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-13",
          "group-type": "group-select"
        },
        {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-14",
          "group-type": "group-select"
        },
        {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-15",
          "group-type": "group-select"
        },
        {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-16",
          "group-type": "group-select"
        },
        {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-17",
          "group-type": "group-select"
        },
        {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-18",
          "group-type": "group-select"
        },
        {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-19",
          "group-type": "group-select"
        },
        {
          "group-id": 20000,
       ... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:05.769911" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=5000', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:05.770149" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:05.739565" elapsed="0.030615"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.737495" elapsed="0.032780"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.770612" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.770325" elapsed="0.000363"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.737313" elapsed="0.033399"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.774812" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.772057" elapsed="0.002806"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.771793" elapsed="0.003108"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.771770" elapsed="0.003160"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.777451" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.775217" elapsed="0.002282"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.774987" elapsed="0.002547"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.774970" elapsed="0.002589"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.778279" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.777799" elapsed="0.000509"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.778640" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.778379" elapsed="0.000320"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.779216" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.778909" elapsed="0.000353"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.778724" elapsed="0.000575"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.778360" elapsed="0.000962"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.779867" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.779498" elapsed="0.000396"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.780212" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.779963" elapsed="0.000324"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.780787" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.780490" elapsed="0.000323"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.780313" elapsed="0.000535"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.779945" elapsed="0.000926"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:05.781031" elapsed="0.000371"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:05.782208" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.781582" elapsed="0.000689"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.782510" elapsed="0.002397"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:05.771187" elapsed="0.013793"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:05.785171" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:05.785056" elapsed="0.000165"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.785037" elapsed="0.000227"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:05.787723" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:05.785415" elapsed="0.002335"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:05.787799" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:05.787977" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:05.731849" elapsed="0.056153"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.788148" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:05.788329" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:05.322538" elapsed="0.465817"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.788728" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.788464" elapsed="0.000334"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.788446" elapsed="0.000377"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.788861" elapsed="0.000026"/>
</return>
<arg>folder=${VAR_DIR}/add-group-1</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${iter}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.319952" elapsed="0.469041"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:05.308149" elapsed="0.480893"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.789738" level="INFO">&amp;{mapping} = { NODE=openflow:3 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.789318" elapsed="0.000449"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.832579" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.832159" elapsed="0.000456"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.833438" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.833138" elapsed="0.000393">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.833627" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.832790" elapsed="0.000862"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.834210" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.833821" elapsed="0.000420"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.834584" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.834759" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.834419" elapsed="0.000366"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.835185" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.834941" elapsed="0.000292"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.836228" level="INFO">mapping: {'NODE': 'openflow:3'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.835971" elapsed="0.000320"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.836726" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.836453" elapsed="0.000299"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.837509" level="INFO">${value} = openflow:3</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:05.837130" elapsed="0.000405"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:05.838592" level="INFO">${encoded} = openflow%3A3</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.838074" elapsed="0.000546"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:05.838673" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:05.838913" level="INFO">${encoded_value} = openflow%3A3</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:05.837724" elapsed="0.001214"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.839095" elapsed="0.000311"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:38:05.836992" elapsed="0.002456"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:05.836809" elapsed="0.002677"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:05.839530" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:05.839688" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:05.835641" elapsed="0.004072"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.835335" elapsed="0.004410"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.839922" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.839772" elapsed="0.000207"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.835308" elapsed="0.004692"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.840726" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A3</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.840143" elapsed="0.000611"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.840803" elapsed="0.000028"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.831538" elapsed="0.009388"/>
</kw>
<msg time="2026-05-25T00:38:05.840982" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:05.819205" elapsed="0.021825"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.853274" elapsed="0.000031"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.865317" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.877310" elapsed="0.000027"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.877512" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.877696" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.878080" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.877931" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:05.877916" elapsed="0.000245"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.878320" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.878542" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.878715" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:05.877882" elapsed="0.000888"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:05.877778" elapsed="0.001019"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.878975" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:05.879054" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:05.879180" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A3</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:05.814989" elapsed="0.064217"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:05.889845" elapsed="0.000363"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.903236" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.902825" elapsed="0.000457"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.904030" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.903790" elapsed="0.000321">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.904207" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.903449" elapsed="0.000783"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.904804" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.904416" elapsed="0.000416"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.905140" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.905308" level="INFO">${template} = {
  "flow-node-inventory:group": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.905000" elapsed="0.000334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.905738" level="INFO">{
  "flow-node-inventory:group": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.905492" elapsed="0.000292"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:05.906142" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.905849" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.906686" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.906391" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.906225" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.905831" elapsed="0.000938"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.907382" level="INFO">${final_text} = {
  "flow-node-inventory:group": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.906914" elapsed="0.000495"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.907458" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:05.907611" level="INFO">${prolog} = {
  "flow-node-inventory:group": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.902191" elapsed="0.005445"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.921046" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.920665" elapsed="0.000410"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.921797" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.921591" elapsed="0.000269">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.921952" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.921241" elapsed="0.000735"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.922545" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.922142" elapsed="0.000431"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.922867" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.922991" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.922733" elapsed="0.000283"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.923453" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.923171" elapsed="0.000326"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:05.923850" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.923564" elapsed="0.000343"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.924418" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.924077" elapsed="0.000368"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.923932" elapsed="0.000548"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.923546" elapsed="0.000956"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.925079" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.924648" elapsed="0.000458"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.925154" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:05.925325" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.920017" elapsed="0.005333"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.938397" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.937999" elapsed="0.000427"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.939131" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:05.938925" elapsed="0.000269">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:05.939306" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:05.938590" elapsed="0.000741"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.939909" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.939514" elapsed="0.000423"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:05.940233" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:05.940410" level="INFO">${template} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:05.940099" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.940840" level="INFO">        {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-${i}",
          "group-type": "group-select"
        }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:05.940596" elapsed="0.000293"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:05.941259" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.940955" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.941786" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:05.941492" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.941344" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.940936" elapsed="0.000933"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.942618" level="INFO">${final_text} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.942015" elapsed="0.000632"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:05.942697" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:05.942851" level="INFO">${item_template} =         {
          "group-id": ${i}000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
       ...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.937448" elapsed="0.005430"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.943300" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:05.943040" elapsed="0.000286"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.943881" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:05.943515" elapsed="0.000392"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:05.944549" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:05.944311" elapsed="0.000295"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.944296" elapsed="0.000335"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.945123" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.944773" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.947129" level="INFO">${item} =         {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.945322" elapsed="0.001837"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.947335" elapsed="0.000226"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:05.944263" elapsed="0.003336"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.948018" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.947778" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.947763" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.948792" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.948434" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.949576" level="INFO">${item} =         {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.948981" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.949763" elapsed="0.000185"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:05.947732" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.950460" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.950200" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.950185" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.951205" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.950852" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.952025" level="INFO">${item} =         {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.951407" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.952210" elapsed="0.000202"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:05.950155" elapsed="0.002295"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.952867" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.952629" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.952614" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.953628" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.953274" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.954406" level="INFO">${item} =         {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.953811" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.954591" elapsed="0.000183"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:05.952583" elapsed="0.002228"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.955231" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.954992" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.954977" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.956165" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.955790" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.956941" level="INFO">${item} =         {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.956365" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.957125" elapsed="0.000201"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:05.954946" elapsed="0.002418"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.957783" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.957545" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.957530" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.958541" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.958170" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.959314" level="INFO">${item} =         {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.958721" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.959497" elapsed="0.000209"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:05.957499" elapsed="0.002244"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.960161" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.959924" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.959908" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.960926" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.960574" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.961710" level="INFO">${item} =         {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.961108" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.961934" elapsed="0.000186"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:05.959878" elapsed="0.002281"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.962597" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.962358" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.962343" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.963367" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.962992" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.964295" level="INFO">${item} =         {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.963550" elapsed="0.000775"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.964482" elapsed="0.000186"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:05.962311" elapsed="0.002395"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.965128" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.964890" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.964875" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.965893" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.965539" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.966668" level="INFO">${item} =         {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
          ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.966075" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.966854" elapsed="0.000181"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:05.964842" elapsed="0.002231"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.967513" elapsed="0.000220"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.967271" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.967239" elapsed="0.000559"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.968318" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.967947" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.969078" level="INFO">${item} =         {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.968498" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.969278" elapsed="0.000183"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:05.967206" elapsed="0.002293"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.969915" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.969678" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.969663" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.970673" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.970320" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.971453" level="INFO">${item} =         {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.970854" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.971638" elapsed="0.000204"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:05.969633" elapsed="0.002250"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.972318" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.972063" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.972048" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.973063" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.972710" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.973887" level="INFO">${item} =         {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.973299" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.974073" elapsed="0.000201"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:05.972018" elapsed="0.002295"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.974734" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.974495" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.974480" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.975502" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.975127" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.976322" level="INFO">${item} =         {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.975719" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.976508" elapsed="0.000184"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:05.974450" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.977147" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.976909" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.976894" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.977917" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.977559" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.978695" level="INFO">${item} =         {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.978098" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.978880" elapsed="0.000182"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:05.976864" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.979542" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.979300" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.979284" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.980466" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.979968" elapsed="0.000526"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.981241" level="INFO">${item} =         {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.980652" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.981442" elapsed="0.000185"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:05.979239" elapsed="0.002426"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.982083" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.981847" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.981832" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.982848" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.982495" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.983624" level="INFO">${item} =         {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.983029" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.983854" elapsed="0.000186"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:05.981801" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.984516" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.984275" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.984259" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.985328" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.984949" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.986094" level="INFO">${item} =         {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.985512" elapsed="0.000610"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.986297" elapsed="0.000187"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:05.984213" elapsed="0.002309"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.986945" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.986702" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.986687" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.987735" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.987351" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.988570" level="INFO">${item} =         {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.987963" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.988753" elapsed="0.000182"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:05.986657" elapsed="0.002316"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.989408" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.989152" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.989138" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.990153" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.989799" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.990928" level="INFO">${item} =         {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.990350" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.991111" elapsed="0.000201"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:05.989108" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.991766" elapsed="0.000233"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.991530" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.991515" elapsed="0.000550"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.992611" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.992209" elapsed="0.000429"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.993388" level="INFO">${item} =         {
          "group-id": 20000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.992793" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.993571" elapsed="0.000182"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:05.991485" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.994207" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.993970" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.993955" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.994967" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.994616" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.995749" level="INFO">${item} =         {
          "group-id": 21000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.995150" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.995948" elapsed="0.000184"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:05.993925" elapsed="0.002282"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.996648" elapsed="0.000306"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.996409" elapsed="0.000584"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.996394" elapsed="0.000625"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.997539" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.997163" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:05.998374" level="INFO">${item} =         {
          "group-id": 22000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.997722" elapsed="0.000683"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.998564" elapsed="0.000185"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:05.996363" elapsed="0.002423"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:05.999204" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:05.998967" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:05.998952" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.000049" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:05.999617" elapsed="0.000461"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.000849" level="INFO">${item} =         {
          "group-id": 23000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.000238" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.001032" elapsed="0.000186"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:05.998922" elapsed="0.002350"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.001708" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.001470" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.001452" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.002468" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.002099" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.003232" level="INFO">${item} =         {
          "group-id": 24000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.002650" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.003433" elapsed="0.000182"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:06.001420" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.004090" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.003832" elapsed="0.000500"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.003817" elapsed="0.000540"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.004854" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.004498" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.005635" level="INFO">${item} =         {
          "group-id": 25000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.005036" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.005819" elapsed="0.000186"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:06.003787" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.006480" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.006221" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.006207" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.007220" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.006869" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.008037" level="INFO">${item} =         {
          "group-id": 26000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.007423" elapsed="0.000686"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.008286" elapsed="0.000185"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:06.006177" elapsed="0.002333"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.008936" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.008691" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.008676" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.009698" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.009344" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.010476" level="INFO">${item} =         {
          "group-id": 27000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.009879" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.010688" elapsed="0.000206"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:06.008646" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.011376" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.011118" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.011102" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.012160" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.011769" elapsed="0.000418"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.012948" level="INFO">${item} =         {
          "group-id": 28000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.012357" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.013132" elapsed="0.000200"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:06.011071" elapsed="0.002300"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.013910" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.013553" elapsed="0.000581"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.013538" elapsed="0.000623"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.014677" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.014323" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.015457" level="INFO">${item} =         {
          "group-id": 29000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.014860" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.015642" elapsed="0.000184"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:06.013508" elapsed="0.002356"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.016342" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.016085" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.016068" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.017089" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.016734" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.017873" level="INFO">${item} =         {
          "group-id": 30000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.017288" elapsed="0.000614"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.018059" elapsed="0.000199"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:06.016000" elapsed="0.002298"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.018713" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.018476" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.018462" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.019472" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.019104" elapsed="0.000430"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.020371" level="INFO">${item} =         {
          "group-id": 31000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.019737" elapsed="0.000664"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.020558" elapsed="0.000184"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:06.018432" elapsed="0.002347"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.021193" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.020958" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.020944" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.021961" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.021602" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.022743" level="INFO">${item} =         {
          "group-id": 32000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.022144" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.022927" elapsed="0.000184"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:06.020913" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.023583" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.023345" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.023330" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.024371" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.023972" elapsed="0.000425"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.025124" level="INFO">${item} =         {
          "group-id": 33000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.024552" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.025325" elapsed="0.000183"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:06.023299" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.025959" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.025722" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.025707" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.026723" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.026369" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.027501" level="INFO">${item} =         {
          "group-id": 34000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.026904" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.027685" elapsed="0.000183"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:06.025677" elapsed="0.002230"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.028361" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.028089" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.028072" elapsed="0.000541"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.029109" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.028757" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.029888" level="INFO">${item} =         {
          "group-id": 35000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.029305" elapsed="0.000612"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.030071" elapsed="0.000200"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:06.028041" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.030877" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.030600" elapsed="0.000505"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.030473" elapsed="0.000658"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.031649" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.031293" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.032472" level="INFO">${item} =         {
          "group-id": 36000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.031833" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.032657" elapsed="0.000186"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:06.030443" elapsed="0.002438"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.033314" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.033059" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.033044" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.034061" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.033709" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.034843" level="INFO">${item} =         {
          "group-id": 37000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.034260" elapsed="0.000615"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.035031" elapsed="0.000182"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:06.033014" elapsed="0.002253"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.035685" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.035449" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.035434" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.036458" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.036071" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.037215" level="INFO">${item} =         {
          "group-id": 38000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.036638" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.037415" elapsed="0.000184"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:06.035404" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.038052" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.037814" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.037799" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.038814" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.038460" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.039591" level="INFO">${item} =         {
          "group-id": 39000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.038995" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.039774" elapsed="0.000183"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:06.037769" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.040462" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.040175" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.040159" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.041212" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.040861" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.041999" level="INFO">${item} =         {
          "group-id": 40000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.041413" elapsed="0.000614"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.042219" elapsed="0.000206"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:06.040130" elapsed="0.002334"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.042883" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.042644" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.042629" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.043649" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.043292" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.044550" level="INFO">${item} =         {
          "group-id": 41000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.043830" elapsed="0.000749"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.044754" elapsed="0.000211"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:06.042598" elapsed="0.002406"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.045465" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.045199" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.045184" elapsed="0.000533"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.046214" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.045860" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.046999" level="INFO">${item} =         {
          "group-id": 42000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.046413" elapsed="0.000615"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.047183" elapsed="0.000214"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:06.045152" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.047968" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.047725" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.047600" elapsed="0.000616"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.048777" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.048419" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.049556" level="INFO">${item} =         {
          "group-id": 43000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.048959" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.049740" elapsed="0.000188"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:06.047570" elapsed="0.002395"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.050398" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.050143" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.050127" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.051144" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.050792" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.051918" level="INFO">${item} =         {
          "group-id": 44000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.051342" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.052102" elapsed="0.000201"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:06.050097" elapsed="0.002257"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.052772" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.052534" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.052519" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.053530" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.053161" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.054351" level="INFO">${item} =         {
          "group-id": 45000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.053749" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.054538" elapsed="0.000182"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:06.052488" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.055173" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.054937" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.054922" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.055933" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.055581" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.056761" level="INFO">${item} =         {
          "group-id": 46000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.056119" elapsed="0.000671"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.056946" elapsed="0.000186"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:06.054892" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.057619" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.057378" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.057362" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.058385" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.058012" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.059145" level="INFO">${item} =         {
          "group-id": 47000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.058567" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.059347" elapsed="0.000187"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:06.057329" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.059991" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.059753" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.059737" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.060769" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.060415" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.061545" level="INFO">${item} =         {
          "group-id": 48000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.060951" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.061730" elapsed="0.000183"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:06.059706" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.062397" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.062135" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.062119" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.063147" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.062793" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.063923" level="INFO">${item} =         {
          "group-id": 49000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.063345" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.064104" elapsed="0.000202"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:06.062089" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.064924" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.064681" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.064543" elapsed="0.000671"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.065738" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.065383" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.066514" level="INFO">${item} =         {
          "group-id": 50000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.065919" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.066696" elapsed="0.000183"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:06.064512" elapsed="0.002404"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.067348" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.067094" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.067079" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.068089" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.067740" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.068887" level="INFO">${item} =         {
          "group-id": 51000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.068286" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.069071" elapsed="0.000198"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:06.067049" elapsed="0.002258"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.069722" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.069485" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.069470" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.070477" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.070109" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.071238" level="INFO">${item} =         {
          "group-id": 52000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.070657" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.071436" elapsed="0.000184"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:06.069440" elapsed="0.002218"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.072075" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.071837" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.071822" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.072875" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.072482" elapsed="0.000420"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.073656" level="INFO">${item} =         {
          "group-id": 53000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.073057" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.073841" elapsed="0.000183"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:06.071791" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.074499" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.074259" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.074227" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.075240" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.074889" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.076022" level="INFO">${item} =         {
          "group-id": 54000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.075436" elapsed="0.000615"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.076204" elapsed="0.000200"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:06.074197" elapsed="0.002282"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.076920" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.076681" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.076666" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.077680" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.077326" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.078456" level="INFO">${item} =         {
          "group-id": 55000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.077860" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.078640" elapsed="0.000185"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:06.076636" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.079301" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.079047" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.079032" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.080045" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.079694" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.080855" level="INFO">${item} =         {
          "group-id": 56000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.080226" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.081039" elapsed="0.000183"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:06.079002" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.081808" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.081565" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.081443" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.082571" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.082199" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.083348" level="INFO">${item} =         {
          "group-id": 57000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.082751" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.083531" elapsed="0.000183"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:06.081413" elapsed="0.002338"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.084167" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.083931" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.083916" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.084955" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.084574" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.085729" level="INFO">${item} =         {
          "group-id": 58000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.085134" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.085912" elapsed="0.000183"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:06.083886" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.086565" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.086329" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.086315" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.087322" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.086953" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.088085" level="INFO">${item} =         {
          "group-id": 59000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.087502" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.088321" elapsed="0.000185"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:06.086284" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.088999" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.088761" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.088746" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.089760" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.089407" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.090533" level="INFO">${item} =         {
          "group-id": 60000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.089939" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.090715" elapsed="0.000183"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:06.088715" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.091367" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.091115" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.091100" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.092104" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.091755" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.092909" level="INFO">${item} =         {
          "group-id": 61000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.092300" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.093134" elapsed="0.000216"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:06.091070" elapsed="0.002319"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.093808" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.093570" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.093554" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.094567" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.094196" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.095340" level="INFO">${item} =         {
          "group-id": 62000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.094746" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.095523" elapsed="0.000183"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:06.093524" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.096165" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.095927" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.095910" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.096991" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.096576" elapsed="0.000442"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.097777" level="INFO">${item} =         {
          "group-id": 63000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.097173" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.097959" elapsed="0.000183"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:06.095879" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.098735" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.098491" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.098367" elapsed="0.000617"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.099500" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.099127" elapsed="0.000431"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.100418" level="INFO">${item} =         {
          "group-id": 64000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.099717" elapsed="0.000730"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.100603" elapsed="0.000204"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:06.098335" elapsed="0.002510"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.101277" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.101024" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.101009" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.102020" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.101669" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.102793" level="INFO">${item} =         {
          "group-id": 65000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.102201" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.102977" elapsed="0.000182"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:06.100979" elapsed="0.002216"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.103629" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.103392" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.103378" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.104398" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.104027" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.105192" level="INFO">${item} =         {
          "group-id": 66000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.104581" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.105395" elapsed="0.000183"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:06.103347" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.106035" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.105796" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.105780" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.106798" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.106444" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.107579" level="INFO">${item} =         {
          "group-id": 67000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.106985" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.107763" elapsed="0.000182"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:06.105750" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.108417" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.108161" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.108147" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.109183" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.108829" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.109963" level="INFO">${item} =         {
          "group-id": 68000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.109381" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.110148" elapsed="0.000200"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:06.108117" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.110888" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.110582" elapsed="0.000534"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.110560" elapsed="0.000582"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.111665" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.111306" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.112445" level="INFO">${item} =         {
          "group-id": 69000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.111849" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.112630" elapsed="0.000184"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:06.110521" elapsed="0.002368"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.113328" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.113073" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.113058" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.114081" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.113722" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.114867" level="INFO">${item} =         {
          "group-id": 70000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.114279" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.115052" elapsed="0.000185"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:06.113027" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.115822" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.115579" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.115456" elapsed="0.000614"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.116586" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.116213" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.117408" level="INFO">${item} =         {
          "group-id": 71000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.116768" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.117595" elapsed="0.000184"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:06.115426" elapsed="0.002391"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.118270" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.117998" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.117983" elapsed="0.000542"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.119028" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.118671" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.119850" level="INFO">${item} =         {
          "group-id": 72000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.119212" elapsed="0.000676"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.120049" elapsed="0.000191"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:06.117953" elapsed="0.002340"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.120720" elapsed="0.000230"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.120478" elapsed="0.000511"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.120463" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.121535" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.121160" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.122317" level="INFO">${item} =         {
          "group-id": 73000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.121717" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.122538" elapsed="0.000182"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:06.120432" elapsed="0.002325"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.123175" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.122936" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.122921" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.123935" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.123583" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.124719" level="INFO">${item} =         {
          "group-id": 74000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.124117" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.124907" elapsed="0.000208"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:06.122890" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.125597" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.125358" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.125343" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.126364" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.125990" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.127129" level="INFO">${item} =         {
          "group-id": 75000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.126547" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.127332" elapsed="0.000185"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:06.125311" elapsed="0.002251"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.127988" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.127749" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.127734" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.128758" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.128401" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.129609" level="INFO">${item} =         {
          "group-id": 76000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.128952" elapsed="0.000686"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.129794" elapsed="0.000180"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:06.127703" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.130448" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.130191" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.130175" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.131184" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.130835" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.131971" level="INFO">${item} =         {
          "group-id": 77000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.131388" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.132153" elapsed="0.000202"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:06.130145" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.132922" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.132680" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.132557" elapsed="0.000637"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.133710" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.133353" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.134535" level="INFO">${item} =         {
          "group-id": 78000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.133927" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.134721" elapsed="0.000182"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:06.132526" elapsed="0.002415"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.135376" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.135120" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.135105" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.136120" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.135768" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.136896" level="INFO">${item} =         {
          "group-id": 79000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.136318" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.137106" elapsed="0.000201"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:06.135074" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.137761" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.137523" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.137508" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.138522" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.138152" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.139320" level="INFO">${item} =         {
          "group-id": 80000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.138708" elapsed="0.000640"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.139505" elapsed="0.000183"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:06.137478" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.140140" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.139903" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.139889" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.140901" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.140548" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.141700" level="INFO">${item} =         {
          "group-id": 81000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.141101" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.141884" elapsed="0.000186"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:06.139859" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.142544" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.142305" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.142289" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.143301" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.142934" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.144059" level="INFO">${item} =         {
          "group-id": 82000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.143483" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.144257" elapsed="0.000185"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:06.142257" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.144897" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.144657" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.144642" elapsed="0.000565"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.145725" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.145368" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.146500" level="INFO">${item} =         {
          "group-id": 83000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.145905" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.146683" elapsed="0.000183"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:06.144612" elapsed="0.002292"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.147339" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.147085" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.147070" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.148083" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.147731" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.148860" level="INFO">${item} =         {
          "group-id": 84000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.148280" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.149043" elapsed="0.000212"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:06.147040" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.150385" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.150124" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.149461" elapsed="0.001174"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.151136" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.150778" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.151917" level="INFO">${item} =         {
          "group-id": 85000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.151333" elapsed="0.000612"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.152101" elapsed="0.000200"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:06.149431" elapsed="0.002909"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.152755" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.152519" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.152505" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.153546" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.153143" elapsed="0.000430"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.154321" level="INFO">${item} =         {
          "group-id": 86000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.153726" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.154505" elapsed="0.000181"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:06.152475" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.155142" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.154907" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.154892" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.155897" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.155547" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.156682" level="INFO">${item} =         {
          "group-id": 87000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.156077" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.156866" elapsed="0.000182"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:06.154860" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.157573" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.157333" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.157318" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.158329" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.157960" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.159090" level="INFO">${item} =         {
          "group-id": 88000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.158510" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.159290" elapsed="0.000183"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:06.157286" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.159928" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.159691" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.159676" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.160688" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.160335" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.161497" level="INFO">${item} =         {
          "group-id": 89000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.160872" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.161683" elapsed="0.000184"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:06.159646" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.162342" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.162087" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.162073" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.163089" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.162735" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.163874" level="INFO">${item} =         {
          "group-id": 90000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.163287" elapsed="0.000616"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.164058" elapsed="0.000201"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:06.162042" elapsed="0.002257"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.164721" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.164482" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.164467" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.165492" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.165113" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.166271" level="INFO">${item} =         {
          "group-id": 91000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.165674" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.166456" elapsed="0.000183"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:06.164437" elapsed="0.002239"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.167221" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.166974" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.166843" elapsed="0.000646"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.167990" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.167633" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.168777" level="INFO">${item} =         {
          "group-id": 92000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.168174" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.169004" elapsed="0.000185"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:06.166811" elapsed="0.002415"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.169690" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.169451" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.169436" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.170451" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.170081" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.171209" level="INFO">${item} =         {
          "group-id": 93000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.170633" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.171410" elapsed="0.000184"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:06.169405" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.172049" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.171812" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.171797" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.172812" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.172458" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.173609" level="INFO">${item} =         {
          "group-id": 94000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.172992" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.173793" elapsed="0.000183"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:06.171767" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.174452" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.174195" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.174180" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.175198" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.174847" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.175979" level="INFO">${item} =         {
          "group-id": 95000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.175399" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.176161" elapsed="0.000200"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:06.174149" elapsed="0.002249"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.176814" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.176578" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.176563" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.177608" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.177209" elapsed="0.000426"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.178389" level="INFO">${item} =         {
          "group-id": 96000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.177790" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.178572" elapsed="0.000182"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:06.176532" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.179211" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.178975" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.178958" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.179988" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.179622" elapsed="0.000431"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.180878" level="INFO">${item} =         {
          "group-id": 97000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.180216" elapsed="0.000693"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.181071" elapsed="0.000208"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:06.178927" elapsed="0.002393"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.181767" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.181529" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.181513" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.182538" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.182162" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.183319" level="INFO">${item} =         {
          "group-id": 98000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.182721" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.183504" elapsed="0.000198"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:06.181481" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.184301" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.184036" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.183910" elapsed="0.000645"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.185057" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.184701" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.185886" level="INFO">${item} =         {
          "group-id": 99000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
         ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.185259" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.186072" elapsed="0.000200"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:06.183880" elapsed="0.002431"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.186730" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.186491" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.186476" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.187497" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.187121" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.188277" level="INFO">${item} =         {
          "group-id": 100000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
        ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.187679" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.188464" elapsed="0.000182"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:06.186445" elapsed="0.002238"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:05.943963" elapsed="0.244752"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.190061" level="INFO">${final_text} = {
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
   ...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:06.188876" elapsed="0.001214"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.190156" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:38:06.190363" level="INFO">${data} = {
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
   ...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:05.888959" elapsed="0.301432"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.191884" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.191588" elapsed="0.000379">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-1/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.192065" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.191206" elapsed="0.000884"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.192431" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.192160" elapsed="0.000330"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.193025" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.192730" elapsed="0.000322"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.192515" elapsed="0.000573"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.192142" elapsed="0.000968"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.195627" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.193306" elapsed="0.002348"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:06.195706" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:06.195861" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-1/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:06.190829" elapsed="0.005062"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.197468" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A3</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.197185" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.197928" level="INFO">{
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-1",
          "group-type": "group-select"
        },
        {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-2",
          "group-type": "group-select"
        },
        {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-3",
          "group-type": "group-select"
        },
        {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-4",
          "group-type": "group-select"
        },
        {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-5",
          "group-type": "group-select"
        },
        {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-6",
          "group-type": "group-select"
        },
        {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-7",
          "group-type": "group-select"
        },
        {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-8",
          "group-type": "group-select"
        },
        {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-9",
          "group-type": "group-select"
        },
        {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-10",
          "group-type": "group-select"
        },
        {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-11",
          "group-type": "group-select"
        },
        {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-12",
          "group-type": "group-select"
        },
        {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-13",
          "group-type": "group-select"
        },
        {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-14",
          "group-type": "group-select"
        },
        {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-15",
          "group-type": "group-select"
        },
        {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-16",
          "group-type": "group-select"
        },
        {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-17",
          "group-type": "group-select"
        },
        {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-18",
          "group-type": "group-select"
        },
        {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-19",
          "group-type": "group-select"
        },
        {
          "group-id": 20000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-20",
          "group-type": "group-select"
        },
        {
          "group-id": 21000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-21",
          "group-type": "group-select"
        },
        {
          "group-id": 22000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-22",
          "group-type": "group-select"
        },
        {
          "group-id": 23000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-23",
          "group-type": "group-select"
        },
        {
          "group-id": 24000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-24",
          "group-type": "group-select"
        },
        {
          "group-id": 25000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-25",
          "group-type": "group-select"
        },
        {
          "group-id": 26000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-26",
          "group-type": "group-select"
        },
        {
          "group-id": 27000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-27",
          "group-type": "group-select"
        },
        {
          "group-id": 28000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-28",
          "group-type": "group-select"
        },
        {
          "group-id": 29000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-29",
          "group-type": "group-select"
        },
        {
          "group-id": 30000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-30",
          "group-type": "group-select"
        },
        {
          "group-id": 31000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-31",
          "group-type": "group-select"
        },
        {
          "group-id": 32000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-32",
          "group-type": "group-select"
        },
        {
          "group-id": 33000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-33",
          "group-type": "group-select"
        },
        {
          "group-id": 34000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-34",
          "group-type": "group-select"
        },
        {
          "group-id": 35000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-35",
          "group-type": "group-select"
        },
        {
          "group-id": 36000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-36",
          "group-type": "group-select"
        },
        {
          "group-id": 37000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-37",
          "group-type": "group-select"
        },
        {
          "group-id": 38000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-38",
          "group-type": "group-select"
        },
        {
          "group-id": 39000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-39",
          "group-type": "group-select"
        },
        {
          "group-id": 40000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-40",
          "group-type": "group-select"
        },
        {
          "group-id": 41000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-41",
          "group-type": "group-select"
        },
        {
          "group-id": 42000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-42",
          "group-type": "group-select"
        },
        {
          "group-id": 43000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-43",
          "group-type": "group-select"
        },
        {
          "group-id": 44000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-44",
          "group-type": "group-select"
        },
        {
          "group-id": 45000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-45",
          "group-type": "group-select"
        },
        {
          "group-id": 46000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-46",
          "group-type": "group-select"
        },
        {
          "group-id": 47000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-47",
          "group-type": "group-select"
        },
        {
          "group-id": 48000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-48",
          "group-type": "group-select"
        },
        {
          "group-id": 49000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-49",
          "group-type": "group-select"
        },
        {
          "group-id": 50000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-50",
          "group-type": "group-select"
        },
        {
          "group-id": 51000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-51",
          "group-type": "group-select"
        },
        {
          "group-id": 52000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-52",
          "group-type": "group-select"
        },
        {
          "group-id": 53000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-53",
          "group-type": "group-select"
        },
        {
          "group-id": 54000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-54",
          "group-type": "group-select"
        },
        {
          "group-id": 55000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-55",
          "group-type": "group-select"
        },
        {
          "group-id": 56000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-56",
          "group-type": "group-select"
        },
        {
          "group-id": 57000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-57",
          "group-type": "group-select"
        },
        {
          "group-id": 58000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-58",
          "group-type": "group-select"
        },
        {
          "group-id": 59000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-59",
          "group-type": "group-select"
        },
        {
          "group-id": 60000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-60",
          "group-type": "group-select"
        },
        {
          "group-id": 61000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-61",
          "group-type": "group-select"
        },
        {
          "group-id": 62000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-62",
          "group-type": "group-select"
        },
        {
          "group-id": 63000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-63",
          "group-type": "group-select"
        },
        {
          "group-id": 64000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-64",
          "group-type": "group-select"
        },
        {
          "group-id": 65000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-65",
          "group-type": "group-select"
        },
        {
          "group-id": 66000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-66",
          "group-type": "group-select"
        },
        {
          "group-id": 67000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-67",
          "group-type": "group-select"
        },
        {
          "group-id": 68000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-68",
          "group-type": "group-select"
        },
        {
          "group-id": 69000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-69",
          "group-type": "group-select"
        },
        {
          "group-id": 70000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-70",
          "group-type": "group-select"
        },
        {
          "group-id": 71000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-71",
          "group-type": "group-select"
        },
        {
          "group-id": 72000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-72",
          "group-type": "group-select"
        },
        {
          "group-id": 73000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-73",
          "group-type": "group-select"
        },
        {
          "group-id": 74000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-74",
          "group-type": "group-select"
        },
        {
          "group-id": 75000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-75",
          "group-type": "group-select"
        },
        {
          "group-id": 76000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-76",
          "group-type": "group-select"
        },
        {
          "group-id": 77000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-77",
          "group-type": "group-select"
        },
        {
          "group-id": 78000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-78",
          "group-type": "group-select"
        },
        {
          "group-id": 79000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-79",
          "group-type": "group-select"
        },
        {
          "group-id": 80000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-80",
          "group-type": "group-select"
        },
        {
          "group-id": 81000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-81",
          "group-type": "group-select"
        },
        {
          "group-id": 82000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-82",
          "group-type": "group-select"
        },
        {
          "group-id": 83000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-83",
          "group-type": "group-select"
        },
        {
          "group-id": 84000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-84",
          "group-type": "group-select"
        },
        {
          "group-id": 85000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-85",
          "group-type": "group-select"
        },
        {
          "group-id": 86000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-86",
          "group-type": "group-select"
        },
        {
          "group-id": 87000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-87",
          "group-type": "group-select"
        },
        {
          "group-id": 88000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-88",
          "group-type": "group-select"
        },
        {
          "group-id": 89000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-89",
          "group-type": "group-select"
        },
        {
          "group-id": 90000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-90",
          "group-type": "group-select"
        },
        {
          "group-id": 91000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-91",
          "group-type": "group-select"
        },
        {
          "group-id": 92000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-92",
          "group-type": "group-select"
        },
        {
          "group-id": 93000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-93",
          "group-type": "group-select"
        },
        {
          "group-id": 94000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-94",
          "group-type": "group-select"
        },
        {
          "group-id": 95000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-95",
          "group-type": "group-select"
        },
        {
          "group-id": 96000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-96",
          "group-type": "group-select"
        },
        {
          "group-id": 97000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-97",
          "group-type": "group-select"
        },
        {
          "group-id": 98000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-98",
          "group-type": "group-select"
        },
        {
          "group-id": 99000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-99",
          "group-type": "group-select"
        },
        {
          "group-id": 100000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-100",
          "group-type": "group-select"
        }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.197691" elapsed="0.000748"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.198841" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.198594" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.199290" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.199035" elapsed="0.000299"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:06.200318" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:06.199944" elapsed="0.000401"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:06.200677" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:06.200500" elapsed="0.000202"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.200852" elapsed="0.000193"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.201461" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.201197" elapsed="0.000308"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:06.201547" elapsed="0.000061"/>
</return>
<msg time="2026-05-25T00:38:06.201744" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:06.199537" elapsed="0.002231"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:06.227758" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '52323', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow-node-inventory:group": [
        {
          "group-id": 1000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-1",
          "group-type": "group-select"
        },
        {
          "group-id": 2000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-2",
          "group-type": "group-select"
        },
        {
          "group-id": 3000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-3",
          "group-type": "group-select"
        },
        {
          "group-id": 4000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-4",
          "group-type": "group-select"
        },
        {
          "group-id": 5000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-5",
          "group-type": "group-select"
        },
        {
          "group-id": 6000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-6",
          "group-type": "group-select"
        },
        {
          "group-id": 7000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-7",
          "group-type": "group-select"
        },
        {
          "group-id": 8000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-8",
          "group-type": "group-select"
        },
        {
          "group-id": 9000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-9",
          "group-type": "group-select"
        },
        {
          "group-id": 10000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-10",
          "group-type": "group-select"
        },
        {
          "group-id": 11000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-11",
          "group-type": "group-select"
        },
        {
          "group-id": 12000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-12",
          "group-type": "group-select"
        },
        {
          "group-id": 13000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-13",
          "group-type": "group-select"
        },
        {
          "group-id": 14000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-14",
          "group-type": "group-select"
        },
        {
          "group-id": 15000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-15",
          "group-type": "group-select"
        },
        {
          "group-id": 16000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-16",
          "group-type": "group-select"
        },
        {
          "group-id": 17000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-17",
          "group-type": "group-select"
        },
        {
          "group-id": 18000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-18",
          "group-type": "group-select"
        },
        {
          "group-id": 19000,
          "buckets": {
            "bucket": [
              {
                "bucket-id": 1,
                "weight": 1,
                "action": [
                  {
                    "order": 1,
                    "output-action": {
                      "output-node-connector": "1"
                    }
                  }
                ]
              }
            ]
          },
          "group-name": "Select-19",
          "group-type": "group-select"
        },
        {
          "group-id": 20000,
       ... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:06.228095" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=5000', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:06.228371" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:06.204060" elapsed="0.024359"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.201996" elapsed="0.026521"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.228914" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.228575" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.201820" elapsed="0.027237"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.234757" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.231025" elapsed="0.003809"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.230652" elapsed="0.004238"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.230623" elapsed="0.004308"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.238908" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.235384" elapsed="0.003575"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.235019" elapsed="0.003977"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.234993" elapsed="0.004029"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.239719" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.239285" elapsed="0.000463"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.240084" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.239819" elapsed="0.000324"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.240681" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.240372" elapsed="0.000339"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.240169" elapsed="0.000578"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.239800" elapsed="0.000969"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.241344" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.240944" elapsed="0.000428"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.241714" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.241445" elapsed="0.000329"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.242377" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.242040" elapsed="0.000364"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.241801" elapsed="0.000639"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.241426" elapsed="0.001037"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:06.242632" elapsed="0.000386"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:06.243552" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.243191" elapsed="0.000388"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.243742" elapsed="0.002680"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:06.229760" elapsed="0.016742"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:06.246707" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:06.246585" elapsed="0.000173"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.246565" elapsed="0.000215"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:06.249627" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:06.246937" elapsed="0.002719"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:06.249707" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:38:06.249919" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:06.196231" elapsed="0.053714"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.250150" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:06.250353" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:05.803783" elapsed="0.446597"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.250813" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.250500" elapsed="0.000387"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.250477" elapsed="0.000435"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.250946" elapsed="0.000033"/>
</return>
<arg>folder=${VAR_DIR}/add-group-1</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${iter}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:05.801047" elapsed="0.450049"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:05.789151" elapsed="0.461996"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:04.810081" elapsed="1.441105"/>
</for>
<doc>Add 100 groups of type 1 in every switch.</doc>
<status status="PASS" start="2026-05-25T00:38:04.809613" elapsed="1.441757"/>
</test>
<test id="s1-s4-s1-t2" name="Add Group 2 In Every Switch" line="35">
<for flavor="IN RANGE">
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.255027" level="INFO">&amp;{mapping} = { NODE=openflow:1 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.254554" elapsed="0.000503"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.297780" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.297382" elapsed="0.000430"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.298650" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.298338" elapsed="0.000398">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.298832" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.297982" elapsed="0.000874"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.299433" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.299023" elapsed="0.000438"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.299770" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.299963" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.299624" elapsed="0.000365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.300414" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.300146" elapsed="0.000316"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.301447" level="INFO">mapping: {'NODE': 'openflow:1'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.301169" elapsed="0.000323"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.301925" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.301654" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.302727" level="INFO">${value} = openflow:1</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:06.302336" elapsed="0.000418"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:06.303830" level="INFO">${encoded} = openflow%3A1</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.303371" elapsed="0.000486"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:06.303912" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:38:06.304078" level="INFO">${encoded_value} = openflow%3A1</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:06.302943" elapsed="0.001160"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.304277" elapsed="0.000293"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:38:06.302181" elapsed="0.002431"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:06.302003" elapsed="0.002644"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:06.304691" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:06.304850" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:06.300845" elapsed="0.004030"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.300540" elapsed="0.004367"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.305081" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.304933" elapsed="0.000205"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.300516" elapsed="0.004643"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.305882" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A1</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.305326" elapsed="0.000585"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.305960" elapsed="0.000028"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.296739" elapsed="0.009346"/>
</kw>
<msg time="2026-05-25T00:38:06.306140" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:06.284449" elapsed="0.021739"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.318456" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.330499" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.342519" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.342717" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.342930" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.343318" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.343154" elapsed="0.000222"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:06.343139" elapsed="0.000295"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.343582" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.343751" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.343925" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:06.343109" elapsed="0.000869"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:06.343008" elapsed="0.000996"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.344151" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:06.344228" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:06.344364" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A1</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:06.280232" elapsed="0.064158"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:06.355135" elapsed="0.000368"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.368557" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.368152" elapsed="0.000434"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.369356" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.369097" elapsed="0.000335">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.369528" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.368750" elapsed="0.000803"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.370108" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.369720" elapsed="0.000416"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.370456" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.370612" level="INFO">${template} = {
  "flow-node-inventory:group": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.370314" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.371070" level="INFO">{
  "flow-node-inventory:group": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.370794" elapsed="0.000323"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:06.371512" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.371188" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.372037" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.371743" elapsed="0.000320"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.371597" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.371167" elapsed="0.000953"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.372717" level="INFO">${final_text} = {
  "flow-node-inventory:group": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.372284" elapsed="0.000461"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.372794" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:38:06.372953" level="INFO">${prolog} = {
  "flow-node-inventory:group": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.367523" elapsed="0.005455"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.387912" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.386844" elapsed="0.001106"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.388755" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.388505" elapsed="0.000327">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.388931" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.388129" elapsed="0.000827"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.389641" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.389166" elapsed="0.000507"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.389986" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.390144" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.389841" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.390607" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.390352" elapsed="0.000301"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:06.391080" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.390734" elapsed="0.000409"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.391674" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.391378" elapsed="0.000323"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.391215" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.390708" elapsed="0.001050"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.392359" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.391906" elapsed="0.000480"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.392438" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:06.392602" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.386125" elapsed="0.006502"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.408517" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.407845" elapsed="0.000708"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.409401" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.409102" elapsed="0.000388">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.409588" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.408738" elapsed="0.000876"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.410201" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.409783" elapsed="0.000544"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.410655" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.410836" level="INFO">${template} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.410502" elapsed="0.000363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.411344" level="INFO">    {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": ${i}000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-${i}",
      "group-type": "group-ff"
    }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.411043" elapsed="0.000365"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:06.411883" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.411504" elapsed="0.000444"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.412475" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.412143" elapsed="0.000360"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.411976" elapsed="0.000566"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.411473" elapsed="0.001092"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.413474" level="INFO">${final_text} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.412717" elapsed="0.000799"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.413592" elapsed="0.000052"/>
</return>
<msg time="2026-05-25T00:38:06.413844" level="INFO">${item_template} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.406993" elapsed="0.006890"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.414520" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:06.414125" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.415142" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.414734" elapsed="0.000448"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.416000" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.415744" elapsed="0.000353"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.415727" elapsed="0.000399"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.416715" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.416294" elapsed="0.000450"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.417831" level="INFO">${item} =     {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.416910" elapsed="0.000952"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.418024" elapsed="0.000215"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:06.415690" elapsed="0.002604"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.418748" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.418489" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.418471" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.419623" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.419161" elapsed="0.000493"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.420451" level="INFO">${item} =     {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.419815" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.420704" elapsed="0.000194"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:06.418439" elapsed="0.002499"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.421398" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.421121" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.421106" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.422164" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.421803" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.422973" level="INFO">${item} =     {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.422377" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.423160" elapsed="0.000221"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:06.421075" elapsed="0.002380"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.423903" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.423660" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.423644" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.424682" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.424323" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.425476" level="INFO">${item} =     {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.424867" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.425669" elapsed="0.000189"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:06.423612" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.426344" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.426083" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.426067" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.427111" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.426751" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.427948" level="INFO">${item} =     {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.427320" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.428137" elapsed="0.000206"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:06.426036" elapsed="0.002346"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.428813" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.428570" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.428553" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.429576" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.429205" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.430349" level="INFO">${item} =     {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.429759" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.430534" elapsed="0.000183"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:06.428522" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.431176" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.430938" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.430922" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.431991" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.431641" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.432834" level="INFO">${item} =     {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.432211" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.433024" elapsed="0.000187"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:06.430892" elapsed="0.002374"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.433716" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.433449" elapsed="0.000516"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.433433" elapsed="0.000563"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.434533" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.434148" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.435444" level="INFO">${item} =     {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.434721" elapsed="0.000752"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.435657" elapsed="0.000187"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:06.433403" elapsed="0.002479"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.436315" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.436062" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.436047" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.437060" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.436709" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.437830" level="INFO">${item} =     {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.437257" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.438013" elapsed="0.000182"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:06.436016" elapsed="0.002217"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.438667" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.438431" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.438416" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.439428" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.439058" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.440224" level="INFO">${item} =     {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.439648" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.440427" elapsed="0.000183"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:06.438385" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.441063" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.440826" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.440812" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.441826" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.441475" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.442601" level="INFO">${item} =     {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.442011" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.442782" elapsed="0.000184"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:06.440782" elapsed="0.002221"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.443437" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.443181" elapsed="0.000535"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.443165" elapsed="0.000579"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.444264" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.443890" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.445031" level="INFO">${item} =     {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.444450" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.445217" elapsed="0.000201"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:06.443135" elapsed="0.002321"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.445873" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.445635" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.445620" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.446639" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.446283" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.447413" level="INFO">${item} =     {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.446822" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.447597" elapsed="0.000227"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:06.445590" elapsed="0.002274"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.448301" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.448046" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.448030" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.449052" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.448700" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.449833" level="INFO">${item} =     {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.449239" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.450017" elapsed="0.000182"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:06.448000" elapsed="0.002240"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.450673" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.450435" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.450419" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.451559" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.451073" elapsed="0.000513"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.452362" level="INFO">${item} =     {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.451766" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.452546" elapsed="0.000182"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:06.450389" elapsed="0.002376"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.453177" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.452942" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.452928" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.453940" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.453587" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.454717" level="INFO">${item} =     {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.454122" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.454901" elapsed="0.000219"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:06.452898" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.455592" elapsed="0.000220"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.455355" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.455340" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.456393" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.456021" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.457146" level="INFO">${item} =     {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.456575" elapsed="0.000600"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.457347" elapsed="0.000184"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:06.455309" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.457989" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.457747" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.457732" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.458752" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.458399" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.459521" level="INFO">${item} =     {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.458932" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.459704" elapsed="0.000206"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:06.457702" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.460382" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.460126" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.460111" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.461121" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.460771" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.461890" level="INFO">${item} =     {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.461317" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.462073" elapsed="0.000200"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:06.460081" elapsed="0.002231"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.462733" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.462496" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.462479" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.463494" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.463124" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.464296" level="INFO">${item} =     {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.463674" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.464482" elapsed="0.000183"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:06.462447" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.465121" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.464883" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.464865" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.465885" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.465533" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.466658" level="INFO">${item} =     {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.466066" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.466883" elapsed="0.000186"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:06.464835" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.467547" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.467309" elapsed="0.000599"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.467293" elapsed="0.000641"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.468455" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.468079" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.469212" level="INFO">${item} =     {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.468637" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.469415" elapsed="0.000184"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:06.467260" elapsed="0.002377"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.470058" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.469816" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.469801" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.470819" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.470467" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.471591" level="INFO">${item} =     {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.471001" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.471776" elapsed="0.000218"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:06.469770" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.472466" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.472211" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.472197" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.473206" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.472856" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.473987" level="INFO">${item} =     {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.473407" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.474170" elapsed="0.000204"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:06.472166" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.474833" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.474592" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.474576" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.475591" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.475223" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.476377" level="INFO">${item} =     {
      "group-id": 25,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 25000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.475773" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.476561" elapsed="0.000183"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:06.474546" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.477195" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.476961" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.476946" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.477948" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.477600" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.478766" level="INFO">${item} =     {
      "group-id": 26,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 26000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.478165" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.478952" elapsed="0.000184"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:06.476916" elapsed="0.002258"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.479611" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.479373" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.479358" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.480417" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.480045" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.481170" level="INFO">${item} =     {
      "group-id": 27,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 27000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.480600" elapsed="0.000600"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.481373" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:06.479327" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.482009" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.481774" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.481759" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.482769" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.482419" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.483543" level="INFO">${item} =     {
      "group-id": 28,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 28000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.482953" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.483727" elapsed="0.000183"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:06.481729" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.484512" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.484146" elapsed="0.000589"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.484129" elapsed="0.000632"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.485275" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.484904" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.486029" level="INFO">${item} =     {
      "group-id": 29,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 29000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.485458" elapsed="0.000600"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.486214" elapsed="0.000202"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:06.484099" elapsed="0.002355"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.486869" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.486631" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.486616" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.487632" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.487275" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.488437" level="INFO">${item} =     {
      "group-id": 30,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 30000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.487812" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.488622" elapsed="0.000183"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:06.486586" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.489313" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.489025" elapsed="0.000516"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.489009" elapsed="0.000557"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.490064" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.489711" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.490836" level="INFO">${item} =     {
      "group-id": 31,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 31000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.490261" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.491019" elapsed="0.000182"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:06.488979" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.491672" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.491436" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.491421" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.492457" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.492087" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.493212" level="INFO">${item} =     {
      "group-id": 32,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 32000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.492638" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.493413" elapsed="0.000184"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:06.491391" elapsed="0.002243"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.494053" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.493815" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.493799" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.494812" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.494461" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.495584" level="INFO">${item} =     {
      "group-id": 33,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 33000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.494996" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.495766" elapsed="0.000181"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:06.493769" elapsed="0.002215"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.496453" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.496200" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.496185" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.497186" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.496839" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.497954" level="INFO">${item} =     {
      "group-id": 34,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 34000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.497385" elapsed="0.000598"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.498137" elapsed="0.000205"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:06.496154" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.498794" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.498558" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.498543" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.499552" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.499182" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.500342" level="INFO">${item} =     {
      "group-id": 35,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 35000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.499734" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.500558" elapsed="0.000186"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:06.498514" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.502262" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.501998" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.500948" elapsed="0.001573"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.503022" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.502665" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.503800" level="INFO">${item} =     {
      "group-id": 36,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 36000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.503206" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.503984" elapsed="0.000216"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:06.500917" elapsed="0.003322"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.504677" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.504438" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.504423" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.505446" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.505075" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.506202" level="INFO">${item} =     {
      "group-id": 37,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 37000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.505628" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.506404" elapsed="0.000185"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:06.504392" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.507046" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.506808" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.506793" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.507810" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.507456" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.508755" level="INFO">${item} =     {
      "group-id": 38,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 38000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.508160" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.508941" elapsed="0.000214"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:06.506762" elapsed="0.002431"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.509631" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.509392" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.509377" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.510391" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.510020" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.511143" level="INFO">${item} =     {
      "group-id": 39,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 39000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.510573" elapsed="0.000598"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.511343" elapsed="0.000184"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:06.509347" elapsed="0.002218"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.511981" elapsed="0.000216"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.511745" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.511730" elapsed="0.000547"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.512776" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.512421" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.513591" level="INFO">${item} =     {
      "group-id": 40,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 40000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.512993" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.513777" elapsed="0.000191"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:06.511700" elapsed="0.002306"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.514444" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.514187" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.514172" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.515191" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.514838" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.515969" level="INFO">${item} =     {
      "group-id": 41,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 41000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.515391" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.516155" elapsed="0.000221"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:06.514141" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.516833" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.516596" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.516581" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.517599" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.517227" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.518374" level="INFO">${item} =     {
      "group-id": 42,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 42000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.517781" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.518559" elapsed="0.000184"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:06.516550" elapsed="0.002231"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.519333" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.519073" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.518944" elapsed="0.000640"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.520082" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.519729" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.520899" level="INFO">${item} =     {
      "group-id": 43,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 43000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.520314" elapsed="0.000614"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.521084" elapsed="0.000202"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:06.518914" elapsed="0.002411"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.521743" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.521507" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.521492" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.522512" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.522137" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.523287" level="INFO">${item} =     {
      "group-id": 44,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 44000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.522695" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.523473" elapsed="0.000184"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:06.521461" elapsed="0.002234"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.524114" elapsed="0.000218"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.523876" elapsed="0.000528"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.523861" elapsed="0.000572"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.524936" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.524579" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.525715" level="INFO">${item} =     {
      "group-id": 45,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 45000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.525118" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.525898" elapsed="0.000183"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:06.523831" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.526559" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.526320" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.526305" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.527327" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.526953" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.528090" level="INFO">${item} =     {
      "group-id": 46,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 46000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.527510" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.528291" elapsed="0.000217"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:06.526273" elapsed="0.002274"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.528966" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.528727" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.528712" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.529727" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.529376" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.530507" level="INFO">${item} =     {
      "group-id": 47,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 47000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.529914" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.530691" elapsed="0.000182"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:06.528682" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.531349" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.531089" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.531074" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.532098" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.531745" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.532892" level="INFO">${item} =     {
      "group-id": 48,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 48000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.532299" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.533084" elapsed="0.000205"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:06.531044" elapsed="0.002284"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.533758" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.533517" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.533501" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.534537" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.534155" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.535331" level="INFO">${item} =     {
      "group-id": 49,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 49000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.534722" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.535517" elapsed="0.000188"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:06.533468" elapsed="0.002349"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.536511" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.536202" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.535999" elapsed="0.000771"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.537296" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.536915" elapsed="0.000409"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.538064" level="INFO">${item} =     {
      "group-id": 50,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 50000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.537484" elapsed="0.000610"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.538269" elapsed="0.000188"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:06.535968" elapsed="0.002528"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.538919" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.538678" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.538663" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.539683" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.539328" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.540482" level="INFO">${item} =     {
      "group-id": 51,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 51000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.539867" elapsed="0.000644"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.540667" elapsed="0.000184"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:06.538632" elapsed="0.002257"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.541326" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.541070" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.541053" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.542069" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.541718" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.542885" level="INFO">${item} =     {
      "group-id": 52,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 52000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.542268" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.543070" elapsed="0.000204"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:06.541023" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.543730" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.543492" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.543477" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.544520" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.544119" elapsed="0.000428"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.545292" level="INFO">${item} =     {
      "group-id": 53,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 53000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.544700" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.545473" elapsed="0.000182"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:06.543446" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.546110" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.545873" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.545855" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.546872" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.546519" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.547646" level="INFO">${item} =     {
      "group-id": 54,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 54000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.547052" elapsed="0.000674"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.547886" elapsed="0.000186"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:06.545823" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.548563" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.548308" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.548292" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.549332" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.548960" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.550092" level="INFO">${item} =     {
      "group-id": 55,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 55000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.549514" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.550293" elapsed="0.000184"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:06.548260" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.550929" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.550693" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.550678" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.551691" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.551336" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.552470" level="INFO">${item} =     {
      "group-id": 56,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 56000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.551877" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.552689" elapsed="0.000184"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:06.550648" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.553467" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.553205" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.553074" elapsed="0.000642"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.554211" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.553858" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.554984" level="INFO">${item} =     {
      "group-id": 57,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 57000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.554409" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.555166" elapsed="0.000202"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:06.553044" elapsed="0.002362"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.555820" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.555583" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.555568" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.556602" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.556211" elapsed="0.000419"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.557422" level="INFO">${item} =     {
      "group-id": 58,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 58000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.556785" elapsed="0.000666"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.557605" elapsed="0.000185"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:06.555538" elapsed="0.002289"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.558257" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.558005" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.557990" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.559005" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.558654" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.559826" level="INFO">${item} =     {
      "group-id": 59,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 59000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.559226" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.560009" elapsed="0.000182"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:06.557961" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.560698" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.560424" elapsed="0.000500"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.560409" elapsed="0.000541"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.561467" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.561093" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.562224" level="INFO">${item} =     {
      "group-id": 60,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 60000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.561648" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.562428" elapsed="0.000183"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:06.560379" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.563096" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.562859" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.562844" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.563896" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.563510" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.564695" level="INFO">${item} =     {
      "group-id": 61,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 61000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.564078" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.564883" elapsed="0.000183"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:06.562813" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.565539" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.565301" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.565286" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.566294" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.565926" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.567045" level="INFO">${item} =     {
      "group-id": 62,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 62000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.566473" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.567226" elapsed="0.000203"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:06.565240" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.567884" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.567647" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.567631" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.568678" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.568294" elapsed="0.000412"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.569454" level="INFO">${item} =     {
      "group-id": 63,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 63000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.568860" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.569638" elapsed="0.000184"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:06.567601" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.570448" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.570150" elapsed="0.000528"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.570025" elapsed="0.000679"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.571202" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.570849" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.571983" level="INFO">${item} =     {
      "group-id": 64,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 64000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.571403" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.572168" elapsed="0.000204"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:06.569995" elapsed="0.002415"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.572853" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.572591" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.572576" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.573608" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.573256" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.574380" level="INFO">${item} =     {
      "group-id": 65,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 65000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.573788" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.574562" elapsed="0.000182"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:06.572546" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.575194" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.574958" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.574943" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.575955" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.575601" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.576767" level="INFO">${item} =     {
      "group-id": 66,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 66000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.576135" elapsed="0.000663"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.576957" elapsed="0.000183"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:06.574913" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.577614" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.577376" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.577361" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.578372" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.578003" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.579122" level="INFO">${item} =     {
      "group-id": 67,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 67000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.578552" elapsed="0.000599"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.579321" elapsed="0.000183"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:06.577330" elapsed="0.002212"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.579960" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.579723" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.579707" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.580722" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.580370" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.581513" level="INFO">${item} =     {
      "group-id": 68,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 68000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.580923" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.581732" elapsed="0.000186"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:06.579677" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.582393" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.582136" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.582121" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.583134" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.582784" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.583906" level="INFO">${item} =     {
      "group-id": 69,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 69000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.583332" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.584089" elapsed="0.000199"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:06.582091" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.584744" elapsed="0.000218"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.584507" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.584492" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.585545" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.585169" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.586324" level="INFO">${item} =     {
      "group-id": 70,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 70000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.585727" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.586508" elapsed="0.000183"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:06.584461" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.587275" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.587016" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.586893" elapsed="0.000633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.588024" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.587669" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.588853" level="INFO">${item} =     {
      "group-id": 71,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 71000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.588205" elapsed="0.000679"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.589040" elapsed="0.000183"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:06.586863" elapsed="0.002414"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.589697" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.589459" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.589444" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.590458" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.590088" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.591213" level="INFO">${item} =     {
      "group-id": 72,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 72000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.590640" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.591417" elapsed="0.000183"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:06.589413" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.592054" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.591818" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.591803" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.592811" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.592462" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.593663" level="INFO">${item} =     {
      "group-id": 73,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 73000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.593063" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.593850" elapsed="0.000183"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:06.591772" elapsed="0.002299"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.594509" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.594268" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.594239" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.595272" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.594903" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.596033" level="INFO">${item} =     {
      "group-id": 74,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 74000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.595456" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.596217" elapsed="0.000204"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:06.594205" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.596891" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.596640" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.596625" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.597650" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.597298" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.598418" level="INFO">${item} =     {
      "group-id": 75,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 75000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.597829" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.598600" elapsed="0.000184"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:06.596594" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.599233" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.598999" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.598982" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.599990" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.599638" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.600755" level="INFO">${item} =     {
      "group-id": 76,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 76000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.600168" elapsed="0.000616"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.600981" elapsed="0.000183"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:06.598952" elapsed="0.002250"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.601634" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.601398" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.601383" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.602391" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.602023" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.603145" level="INFO">${item} =     {
      "group-id": 77,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 77000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.602570" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.603345" elapsed="0.000183"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:06.601352" elapsed="0.002214"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.604094" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.603853" elapsed="0.000516"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.603729" elapsed="0.000668"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.604896" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.604543" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.605729" level="INFO">${item} =     {
      "group-id": 78,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 78000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.605098" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.605918" elapsed="0.000184"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:06.603699" elapsed="0.002441"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.606581" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.606342" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.606327" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.607341" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.606973" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.608095" level="INFO">${item} =     {
      "group-id": 79,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 79000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.607522" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.608294" elapsed="0.000184"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:06.606295" elapsed="0.002221"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.608933" elapsed="0.000216"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.608696" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.608681" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.609722" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.609372" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.610492" level="INFO">${item} =     {
      "group-id": 80,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 80000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.609903" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.610674" elapsed="0.000182"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:06.608651" elapsed="0.002243"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.611328" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.611073" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.611058" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.612071" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.611720" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.612839" level="INFO">${item} =     {
      "group-id": 81,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 81000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.612267" elapsed="0.000600"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.613040" elapsed="0.000184"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:06.611027" elapsed="0.002251"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.613698" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.613461" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.613445" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.614457" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.614089" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.615210" level="INFO">${item} =     {
      "group-id": 82,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 82000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.614637" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.615410" elapsed="0.000181"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:06.613415" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.616080" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.615844" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.615829" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.616836" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.616485" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.617641" level="INFO">${item} =     {
      "group-id": 83,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 83000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.617016" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.617825" elapsed="0.000182"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:06.615799" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.618477" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.618223" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.618208" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.619220" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.618868" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.619991" level="INFO">${item} =     {
      "group-id": 84,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 84000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.619419" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.620173" elapsed="0.000202"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:06.618178" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.620941" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.620697" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.620577" elapsed="0.000631"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.621720" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.621367" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.622492" level="INFO">${item} =     {
      "group-id": 85,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 85000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.621901" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.622675" elapsed="0.000183"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:06.620547" elapsed="0.002348"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.623324" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.623072" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.623057" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.624279" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.623766" elapsed="0.000543"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.625070" level="INFO">${item} =     {
      "group-id": 86,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 86000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.624476" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.625299" elapsed="0.000191"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:06.623027" elapsed="0.002501"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.625962" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.625722" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.625705" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.626726" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.626372" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.627500" level="INFO">${item} =     {
      "group-id": 87,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 87000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.626906" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.627735" elapsed="0.000186"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:06.625673" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.628395" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.628139" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.628124" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.629159" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.628789" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.629936" level="INFO">${item} =     {
      "group-id": 88,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 88000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.629360" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.630120" elapsed="0.000201"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:06.628094" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.630774" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.630539" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.630524" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.631534" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.631162" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.632304" level="INFO">${item} =     {
      "group-id": 89,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 89000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.631715" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.632487" elapsed="0.000182"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:06.630494" elapsed="0.002212"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.633122" elapsed="0.000238"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.632885" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.632868" elapsed="0.000557"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.633925" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.633569" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.634690" level="INFO">${item} =     {
      "group-id": 90,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 90000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.634104" elapsed="0.000615"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.634873" elapsed="0.000183"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:06.632838" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.635527" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.635289" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.635273" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.636283" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.635916" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.637042" level="INFO">${item} =     {
      "group-id": 91,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 91000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.636465" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.637260" elapsed="0.000185"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:06.635225" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.638014" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.637772" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.637645" elapsed="0.000635"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.638775" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.638424" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.639594" level="INFO">${item} =     {
      "group-id": 92,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 92000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.638998" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.639778" elapsed="0.000183"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:06.637616" elapsed="0.002383"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.640432" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.640177" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.640162" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.641175" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.640822" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.641973" level="INFO">${item} =     {
      "group-id": 93,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 93000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.641401" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.642156" elapsed="0.000201"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:06.640132" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.642808" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.642572" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.642558" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.643564" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.643196" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.644340" level="INFO">${item} =     {
      "group-id": 94,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 94000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.643746" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.644523" elapsed="0.000182"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:06.642528" elapsed="0.002214"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.645155" elapsed="0.000220"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.644920" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.644905" elapsed="0.000534"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.645930" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.645581" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.646693" level="INFO">${item} =     {
      "group-id": 95,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 95000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.646110" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.646876" elapsed="0.000185"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:06.644876" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.647530" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.647294" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.647278" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.648284" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.647918" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.649036" level="INFO">${item} =     {
      "group-id": 96,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 96000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.648466" elapsed="0.000599"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.649219" elapsed="0.000235"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:06.647231" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.649945" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.649672" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.649656" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.650710" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.650356" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.651483" level="INFO">${item} =     {
      "group-id": 97,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 97000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.650891" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.651666" elapsed="0.000183"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:06.649626" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.652318" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.652065" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.652050" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.653059" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.652709" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.653849" level="INFO">${item} =     {
      "group-id": 98,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 98000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.653254" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.654033" elapsed="0.000180"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:06.652020" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.654797" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.654554" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.654434" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.655562" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.655191" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.656340" level="INFO">${item} =     {
      "group-id": 99,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 99000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.655744" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.656524" elapsed="0.000182"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:06.654404" elapsed="0.002339"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.657159" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.656922" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.656907" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.657947" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.657594" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.658717" level="INFO">${item} =     {
      "group-id": 100,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 100000,
            "action": [
              {
                "...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.658127" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.658899" elapsed="0.000185"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:06.656877" elapsed="0.002244"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:06.415301" elapsed="0.243853"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.660471" level="INFO">${final_text} = {
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
  ...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:06.659334" elapsed="0.001165"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.660564" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:38:06.660754" level="INFO">${data} = {
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
  ...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:06.354226" elapsed="0.306556"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.662337" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.661980" elapsed="0.000443">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.662519" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.661626" elapsed="0.000918"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.662866" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.662614" elapsed="0.000312"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.663487" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.663171" elapsed="0.000343"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.662952" elapsed="0.000598"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.662596" elapsed="0.000976"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.665998" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.663726" elapsed="0.002299"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:06.666076" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:06.666231" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:06.661219" elapsed="0.005053"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.667835" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A1</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.667574" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.668283" level="INFO">{
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 1000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-1",
      "group-type": "group-ff"
    },
    {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 2000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-2",
      "group-type": "group-ff"
    },
    {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 3000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-3",
      "group-type": "group-ff"
    },
    {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 4000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-4",
      "group-type": "group-ff"
    },
    {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 5000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-5",
      "group-type": "group-ff"
    },
    {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 6000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-6",
      "group-type": "group-ff"
    },
    {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 7000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-7",
      "group-type": "group-ff"
    },
    {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 8000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-8",
      "group-type": "group-ff"
    },
    {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 9000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-9",
      "group-type": "group-ff"
    },
    {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 10000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-10",
      "group-type": "group-ff"
    },
    {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 11000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-11",
      "group-type": "group-ff"
    },
    {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 12000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-12",
      "group-type": "group-ff"
    },
    {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 13000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-13",
      "group-type": "group-ff"
    },
    {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 14000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-14",
      "group-type": "group-ff"
    },
    {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 15000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-15",
      "group-type": "group-ff"
    },
    {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 16000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-16",
      "group-type": "group-ff"
    },
    {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 17000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-17",
      "group-type": "group-ff"
    },
    {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 18000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-18",
      "group-type": "group-ff"
    },
    {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 19000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-19",
      "group-type": "group-ff"
    },
    {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 20000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-20",
      "group-type": "group-ff"
    },
    {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 21000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-21",
      "group-type": "group-ff"
    },
    {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 22000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-22",
      "group-type": "group-ff"
    },
    {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 23000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-23",
      "group-type": "group-ff"
    },
    {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 24000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-24",
      "group-type": "group-ff"
    },
    {
      "group-id": 25,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 25000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 25000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-25",
      "group-type": "group-ff"
    },
    {
      "group-id": 26,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 26000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 26000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-26",
      "group-type": "group-ff"
    },
    {
      "group-id": 27,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 27000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 27000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-27",
      "group-type": "group-ff"
    },
    {
      "group-id": 28,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 28000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 28000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-28",
      "group-type": "group-ff"
    },
    {
      "group-id": 29,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 29000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 29000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-29",
      "group-type": "group-ff"
    },
    {
      "group-id": 30,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 30000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 30000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-30",
      "group-type": "group-ff"
    },
    {
      "group-id": 31,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 31000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 31000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-31",
      "group-type": "group-ff"
    },
    {
      "group-id": 32,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 32000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 32000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-32",
      "group-type": "group-ff"
    },
    {
      "group-id": 33,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 33000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 33000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-33",
      "group-type": "group-ff"
    },
    {
      "group-id": 34,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 34000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 34000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-34",
      "group-type": "group-ff"
    },
    {
      "group-id": 35,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 35000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 35000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-35",
      "group-type": "group-ff"
    },
    {
      "group-id": 36,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 36000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 36000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-36",
      "group-type": "group-ff"
    },
    {
      "group-id": 37,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 37000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 37000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-37",
      "group-type": "group-ff"
    },
    {
      "group-id": 38,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 38000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 38000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-38",
      "group-type": "group-ff"
    },
    {
      "group-id": 39,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 39000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 39000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-39",
      "group-type": "group-ff"
    },
    {
      "group-id": 40,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 40000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 40000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-40",
      "group-type": "group-ff"
    },
    {
      "group-id": 41,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 41000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 41000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-41",
      "group-type": "group-ff"
    },
    {
      "group-id": 42,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 42000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 42000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-42",
      "group-type": "group-ff"
    },
    {
      "group-id": 43,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 43000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 43000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-43",
      "group-type": "group-ff"
    },
    {
      "group-id": 44,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 44000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 44000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-44",
      "group-type": "group-ff"
    },
    {
      "group-id": 45,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 45000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 45000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-45",
      "group-type": "group-ff"
    },
    {
      "group-id": 46,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 46000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 46000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-46",
      "group-type": "group-ff"
    },
    {
      "group-id": 47,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 47000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 47000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-47",
      "group-type": "group-ff"
    },
    {
      "group-id": 48,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 48000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 48000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-48",
      "group-type": "group-ff"
    },
    {
      "group-id": 49,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 49000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 49000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-49",
      "group-type": "group-ff"
    },
    {
      "group-id": 50,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 50000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 50000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-50",
      "group-type": "group-ff"
    },
    {
      "group-id": 51,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 51000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 51000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-51",
      "group-type": "group-ff"
    },
    {
      "group-id": 52,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 52000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 52000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-52",
      "group-type": "group-ff"
    },
    {
      "group-id": 53,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 53000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 53000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-53",
      "group-type": "group-ff"
    },
    {
      "group-id": 54,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 54000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 54000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-54",
      "group-type": "group-ff"
    },
    {
      "group-id": 55,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 55000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 55000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-55",
      "group-type": "group-ff"
    },
    {
      "group-id": 56,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 56000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 56000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-56",
      "group-type": "group-ff"
    },
    {
      "group-id": 57,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 57000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 57000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-57",
      "group-type": "group-ff"
    },
    {
      "group-id": 58,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 58000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 58000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-58",
      "group-type": "group-ff"
    },
    {
      "group-id": 59,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 59000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 59000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-59",
      "group-type": "group-ff"
    },
    {
      "group-id": 60,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 60000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 60000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-60",
      "group-type": "group-ff"
    },
    {
      "group-id": 61,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 61000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 61000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-61",
      "group-type": "group-ff"
    },
    {
      "group-id": 62,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 62000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 62000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-62",
      "group-type": "group-ff"
    },
    {
      "group-id": 63,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 63000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 63000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-63",
      "group-type": "group-ff"
    },
    {
      "group-id": 64,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 64000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 64000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-64",
      "group-type": "group-ff"
    },
    {
      "group-id": 65,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 65000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 65000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-65",
      "group-type": "group-ff"
    },
    {
      "group-id": 66,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 66000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 66000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-66",
      "group-type": "group-ff"
    },
    {
      "group-id": 67,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 67000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 67000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-67",
      "group-type": "group-ff"
    },
    {
      "group-id": 68,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 68000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 68000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-68",
      "group-type": "group-ff"
    },
    {
      "group-id": 69,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 69000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 69000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-69",
      "group-type": "group-ff"
    },
    {
      "group-id": 70,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 70000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 70000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-70",
      "group-type": "group-ff"
    },
    {
      "group-id": 71,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 71000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 71000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-71",
      "group-type": "group-ff"
    },
    {
      "group-id": 72,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 72000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 72000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-72",
      "group-type": "group-ff"
    },
    {
      "group-id": 73,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 73000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 73000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-73",
      "group-type": "group-ff"
    },
    {
      "group-id": 74,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 74000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 74000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-74",
      "group-type": "group-ff"
    },
    {
      "group-id": 75,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 75000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 75000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-75",
      "group-type": "group-ff"
    },
    {
      "group-id": 76,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 76000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 76000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-76",
      "group-type": "group-ff"
    },
    {
      "group-id": 77,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 77000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 77000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-77",
      "group-type": "group-ff"
    },
    {
      "group-id": 78,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 78000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 78000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-78",
      "group-type": "group-ff"
    },
    {
      "group-id": 79,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 79000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 79000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-79",
      "group-type": "group-ff"
    },
    {
      "group-id": 80,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 80000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 80000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-80",
      "group-type": "group-ff"
    },
    {
      "group-id": 81,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 81000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 81000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-81",
      "group-type": "group-ff"
    },
    {
      "group-id": 82,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 82000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 82000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-82",
      "group-type": "group-ff"
    },
    {
      "group-id": 83,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 83000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 83000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-83",
      "group-type": "group-ff"
    },
    {
      "group-id": 84,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 84000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 84000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-84",
      "group-type": "group-ff"
    },
    {
      "group-id": 85,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 85000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 85000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-85",
      "group-type": "group-ff"
    },
    {
      "group-id": 86,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 86000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 86000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-86",
      "group-type": "group-ff"
    },
    {
      "group-id": 87,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 87000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 87000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-87",
      "group-type": "group-ff"
    },
    {
      "group-id": 88,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 88000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 88000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-88",
      "group-type": "group-ff"
    },
    {
      "group-id": 89,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 89000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 89000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-89",
      "group-type": "group-ff"
    },
    {
      "group-id": 90,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 90000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 90000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-90",
      "group-type": "group-ff"
    },
    {
      "group-id": 91,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 91000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 91000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-91",
      "group-type": "group-ff"
    },
    {
      "group-id": 92,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 92000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 92000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-92",
      "group-type": "group-ff"
    },
    {
      "group-id": 93,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 93000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 93000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-93",
      "group-type": "group-ff"
    },
    {
      "group-id": 94,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 94000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 94000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-94",
      "group-type": "group-ff"
    },
    {
      "group-id": 95,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 95000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 95000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-95",
      "group-type": "group-ff"
    },
    {
      "group-id": 96,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 96000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 96000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-96",
      "group-type": "group-ff"
    },
    {
      "group-id": 97,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 97000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 97000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-97",
      "group-type": "group-ff"
    },
    {
      "group-id": 98,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 98000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 98000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-98",
      "group-type": "group-ff"
    },
    {
      "group-id": 99,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 99000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 99000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-99",
      "group-type": "group-ff"
    },
    {
      "group-id": 100,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 100000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 100000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-100",
      "group-type": "group-ff"
    }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.668031" elapsed="0.000675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.669112" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.668859" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.669582" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.669323" elapsed="0.000303"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:06.670454" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:06.670240" elapsed="0.000241"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:06.670809" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:06.670633" elapsed="0.000202"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.670986" elapsed="0.000193"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.671594" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.671348" elapsed="0.000290"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:06.671680" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:06.671833" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:06.669831" elapsed="0.002027"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:06.698939" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '42507', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 1000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-1",
      "group-type": "group-ff"
    },
    {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 2000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-2",
      "group-type": "group-ff"
    },
    {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 3000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-3",
      "group-type": "group-ff"
    },
    {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 4000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-4",
      "group-type": "group-ff"
    },
    {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 5000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-5",
      "group-type": "group-ff"
    },
    {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 6000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-6",
      "group-type": "group-ff"
    },
    {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 7000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-7",
      "group-type": "group-ff"
    },
    {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 8000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-8",
      "group-type": "group-ff"
    },
    {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 9000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-9",
      "group-type": "group-ff"
    },
    {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 10000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-10",
      "group-type": "group-ff"
    },
    {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 11000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-11",
      "group-type": "group-ff"
    },
    {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 12000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-12",
      "group-type": "group-ff"
    },
    {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 13000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-13",
      "group-type": "group-ff"
    },
    {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 14000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-14",
      "group-type": "group-ff"
    },
    {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 15000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-15",
      "group-type": "group-ff"
    },
    {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 16000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-16",
      "group-type": "group-ff"
    },
    {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 17000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-17",
      "group-type": "group-ff"
    },
    {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 18000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-18",
      "group-type": "group-ff"
    },
    {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 19000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-19",
      "group-type": "group-ff"
    },
    {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 20000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-20",
      "group-type": "group-ff"
    },
    {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 21000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-21",
      "group-type": "group-ff"
    },
    {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 22000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-22",
      "group-type": "group-ff"
    },
    {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 23000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-23",
      "group-type": "group-ff"
    },
    {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "order": 1,
                "... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:06.699345" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=88', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:06.699562" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:06.674167" elapsed="0.025436"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.672084" elapsed="0.027598"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.700017" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.699732" elapsed="0.000384"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.671910" elapsed="0.028239"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.705232" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.701814" elapsed="0.003504"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.701456" elapsed="0.003914"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.701429" elapsed="0.003980"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.709125" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.705842" elapsed="0.003350"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.705491" elapsed="0.003772"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.705466" elapsed="0.003837"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.710308" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.709609" elapsed="0.000741"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.710828" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.710453" elapsed="0.000458"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.711440" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.711116" elapsed="0.000354"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.710936" elapsed="0.000570"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.710425" elapsed="0.001104"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.712072" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.711703" elapsed="0.000397"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.712438" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.712169" elapsed="0.000327"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.713001" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.712697" elapsed="0.000331"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.712521" elapsed="0.000542"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.712151" elapsed="0.000934"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:06.713261" elapsed="0.000354"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:06.714116" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.713782" elapsed="0.000360"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.714314" elapsed="0.002233"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:06.700751" elapsed="0.015869"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:06.716809" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:06.716695" elapsed="0.000165"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.716676" elapsed="0.000209"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:06.719355" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:06.717035" elapsed="0.002347"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:06.719430" elapsed="0.000041"/>
</return>
<msg time="2026-05-25T00:38:06.719604" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:06.666619" elapsed="0.053011"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.719765" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:06.719927" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:06.269349" elapsed="0.450603"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.720340" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.720061" elapsed="0.000348"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.720043" elapsed="0.000390"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.720467" elapsed="0.000026"/>
</return>
<arg>folder=${VAR_DIR}/add-group-2</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${iter}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.266350" elapsed="0.454245"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:06.254383" elapsed="0.466260"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.721337" level="INFO">&amp;{mapping} = { NODE=openflow:2 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.720904" elapsed="0.000461"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.764436" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.763950" elapsed="0.000523"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.765323" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.765023" elapsed="0.000391">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.765512" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.764663" elapsed="0.000874"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.766096" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.765707" elapsed="0.000417"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.766480" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.766656" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.766330" elapsed="0.000352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.767095" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.766840" elapsed="0.000304"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.768220" level="INFO">mapping: {'NODE': 'openflow:2'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.767957" elapsed="0.000326"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.768724" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.768447" elapsed="0.000304"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.769504" level="INFO">${value} = openflow:2</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:06.769129" elapsed="0.000402"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:06.770578" level="INFO">${encoded} = openflow%3A2</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.770076" elapsed="0.000529"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:06.770659" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:38:06.770901" level="INFO">${encoded_value} = openflow%3A2</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:06.769722" elapsed="0.001205"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.771083" elapsed="0.000313"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:38:06.768990" elapsed="0.002449"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:06.768805" elapsed="0.002671"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:06.771520" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:06.771679" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:06.767621" elapsed="0.004084"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.767232" elapsed="0.004505"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.771915" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.771764" elapsed="0.000208"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.767206" elapsed="0.004788"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.772785" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A2</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.772140" elapsed="0.000675"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.772868" elapsed="0.000034"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.763124" elapsed="0.009880"/>
</kw>
<msg time="2026-05-25T00:38:06.773063" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:06.750355" elapsed="0.022763"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.787571" elapsed="0.000133"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.806282" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.818502" elapsed="0.000041"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.818812" elapsed="0.000025"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.819013" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.819513" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.819349" elapsed="0.000223"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:06.819327" elapsed="0.000276"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.819752" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.820029" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.820201" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:06.819269" elapsed="0.001002"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:06.819114" elapsed="0.001189"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.820457" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:06.820541" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:38:06.820735" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A2</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:06.746061" elapsed="0.074703"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:06.831626" elapsed="0.000524"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.845181" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.844771" elapsed="0.000440"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.846048" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.845750" elapsed="0.000388">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.846239" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.845396" elapsed="0.000883"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.846941" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.846450" elapsed="0.000522"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.847320" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.847494" level="INFO">${template} = {
  "flow-node-inventory:group": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.847149" elapsed="0.000370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.847940" level="INFO">{
  "flow-node-inventory:group": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.847687" elapsed="0.000301"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:06.848380" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.848055" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.848907" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.848611" elapsed="0.000322"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.848464" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.848036" elapsed="0.000973"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.849627" level="INFO">${final_text} = {
  "flow-node-inventory:group": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.849156" elapsed="0.000499"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.849705" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:38:06.849878" level="INFO">${prolog} = {
  "flow-node-inventory:group": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.844128" elapsed="0.005777"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.863226" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.862812" elapsed="0.000460"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.863985" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.863775" elapsed="0.000274">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.864145" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.863439" elapsed="0.000730"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.864737" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.864352" elapsed="0.000412"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.865060" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.865186" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.864926" elapsed="0.000285"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.865633" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.865387" elapsed="0.000290"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:06.866033" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.865744" elapsed="0.000347"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.866575" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.866279" elapsed="0.000323"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.866116" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.865726" elapsed="0.000934"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.867302" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.866806" elapsed="0.000524"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.867378" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:06.867531" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.862169" elapsed="0.005387"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.880563" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.880169" elapsed="0.000423"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.881311" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:06.881086" elapsed="0.000288">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:06.881469" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:06.880754" elapsed="0.000741"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.882045" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.881659" elapsed="0.000414"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:06.882386" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:06.882546" level="INFO">${template} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:06.882233" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.882981" level="INFO">    {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": ${i}000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-${i}",
      "group-type": "group-ff"
    }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:06.882732" elapsed="0.000298"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:06.883478" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.883119" elapsed="0.000430"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.884022" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:06.883724" elapsed="0.000325"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.883575" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.883099" elapsed="0.001008"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.884872" level="INFO">${final_text} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.884272" elapsed="0.000629"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:06.884951" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:06.885106" level="INFO">${item_template} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.879622" elapsed="0.005510"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.885558" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:06.885313" elapsed="0.000272"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.886111" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:06.885745" elapsed="0.000392"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:06.886792" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:06.886554" elapsed="0.000295"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.886539" elapsed="0.000335"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.887419" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.887017" elapsed="0.000429"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.888362" level="INFO">${item} =     {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.887600" elapsed="0.000791"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.888548" elapsed="0.000207"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:06.886507" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.889213" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.888974" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.888959" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.889984" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.889628" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.890765" level="INFO">${item} =     {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.890168" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.890951" elapsed="0.000208"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:06.888928" elapsed="0.002270"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.891634" elapsed="0.000221"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.891394" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.891379" elapsed="0.000542"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.892440" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.892067" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.893199" level="INFO">${item} =     {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.892622" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.893400" elapsed="0.000184"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:06.891348" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.894040" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.893801" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.893786" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.894803" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.894450" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.895610" level="INFO">${item} =     {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.894984" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.895795" elapsed="0.000184"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:06.893756" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.896454" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.896197" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.896182" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.897202" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.896846" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.897975" level="INFO">${item} =     {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.897401" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.898158" elapsed="0.000201"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:06.896152" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.898815" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.898577" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.898562" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.899592" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.899221" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.900362" level="INFO">${item} =     {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.899772" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.900546" elapsed="0.000183"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:06.898531" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.901184" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.900949" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.900934" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.901954" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.901593" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.902732" level="INFO">${item} =     {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.902134" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.902955" elapsed="0.000187"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:06.900904" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.903657" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.903407" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.903392" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.904498" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.904073" elapsed="0.000453"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.905407" level="INFO">${item} =     {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.904682" elapsed="0.000755"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.905596" elapsed="0.000184"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:06.903361" elapsed="0.002457"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.906252" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.905999" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.905984" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.907003" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.906649" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.907794" level="INFO">${item} =     {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.907184" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.907982" elapsed="0.000182"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:06.905953" elapsed="0.002249"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.908638" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.908400" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.908385" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.909391" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.909026" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.910142" level="INFO">${item} =     {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.909573" elapsed="0.000597"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.910341" elapsed="0.000183"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:06.908354" elapsed="0.002208"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.910978" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.910740" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.910725" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.911770" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.911410" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.912541" level="INFO">${item} =     {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.911951" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.912723" elapsed="0.000187"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:06.910695" elapsed="0.002252"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.913381" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.913126" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.913111" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.914130" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.913770" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.914898" level="INFO">${item} =     {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.914327" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.915119" elapsed="0.000218"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:06.913081" elapsed="0.002295"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.915796" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.915557" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.915542" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.916560" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.916190" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.917403" level="INFO">${item} =     {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.916763" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.917588" elapsed="0.000183"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:06.915512" elapsed="0.002297"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.918274" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.917991" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.917976" elapsed="0.000571"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.919054" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.918692" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.919884" level="INFO">${item} =     {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.919240" elapsed="0.000675"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.920071" elapsed="0.000206"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:06.917945" elapsed="0.002372"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.920748" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.920506" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.920488" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.921646" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.921147" elapsed="0.000526"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.922450" level="INFO">${item} =     {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.921834" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.922638" elapsed="0.000188"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:06.920456" elapsed="0.002409"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.923310" elapsed="0.000218"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.923051" elapsed="0.000517"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.923035" elapsed="0.000559"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.924102" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.923739" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.924891" level="INFO">${item} =     {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.924304" elapsed="0.000616"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.925080" elapsed="0.000206"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:06.923005" elapsed="0.002321"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.925752" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.925511" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.925495" elapsed="0.000556"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.926611" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.926203" elapsed="0.000436"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.927464" level="INFO">${item} =     {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.926797" elapsed="0.000712"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.927674" elapsed="0.000190"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:06.925464" elapsed="0.002438"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.928349" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.928085" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.928070" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.929096" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.928744" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.929872" level="INFO">${item} =     {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.929294" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.930056" elapsed="0.000198"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:06.928039" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.930722" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.930482" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.930467" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.931502" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.931113" elapsed="0.000416"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.932275" level="INFO">${item} =     {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.931684" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.932460" elapsed="0.000183"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:06.930436" elapsed="0.002244"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.933097" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.932861" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.932845" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.933863" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.933506" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.934643" level="INFO">${item} =     {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.934044" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.934828" elapsed="0.000186"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:06.932816" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.935522" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.935233" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.935217" elapsed="0.000562"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.936295" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.935922" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.937060" level="INFO">${item} =     {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.936478" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.937261" elapsed="0.000186"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:06.935186" elapsed="0.002333"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.937944" elapsed="0.000319"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.937705" elapsed="0.000599"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.937689" elapsed="0.000641"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.938828" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.938474" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.939625" level="INFO">${item} =     {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.939009" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.939809" elapsed="0.000184"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:06.937659" elapsed="0.002371"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.940465" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.940210" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.940195" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.941206" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.940855" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.941982" level="INFO">${item} =     {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.941407" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.942166" elapsed="0.000203"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:06.940165" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.942823" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.942587" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.942572" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.943612" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.943211" elapsed="0.000428"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.944385" level="INFO">${item} =     {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.943792" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.944567" elapsed="0.000184"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:06.942541" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.945208" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.944972" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.944958" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.945967" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.945617" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.946741" level="INFO">${item} =     {
      "group-id": 25,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 25000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.946148" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.946934" elapsed="0.000185"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:06.944927" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.947616" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.947360" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.947343" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.948396" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.948022" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.949157" level="INFO">${item} =     {
      "group-id": 26,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 26000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.948579" elapsed="0.000640"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.949399" elapsed="0.000186"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:06.947309" elapsed="0.002314"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.950041" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.949804" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.949789" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.950805" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.950451" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.951617" level="INFO">${item} =     {
      "group-id": 27,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 27000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.950987" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.951804" elapsed="0.000185"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:06.949758" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.952464" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.952206" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.952191" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.953212" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.952860" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.954000" level="INFO">${item} =     {
      "group-id": 28,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 28000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.953415" elapsed="0.000614"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.954185" elapsed="0.000203"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:06.952161" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.954969" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.954616" elapsed="0.000580"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.954597" elapsed="0.000624"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.955775" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.955385" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.956556" level="INFO">${item} =     {
      "group-id": 29,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 29000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.955960" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.956741" elapsed="0.000191"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:06.954565" elapsed="0.002405"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.957406" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.957149" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.957135" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.958153" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.957799" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.958928" level="INFO">${item} =     {
      "group-id": 30,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 30000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.958352" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.959111" elapsed="0.000228"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:06.957104" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.959837" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.959560" elapsed="0.000500"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.959545" elapsed="0.000541"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.960608" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.960231" elapsed="0.000439"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.961444" level="INFO">${item} =     {
      "group-id": 31,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 31000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.960831" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.961630" elapsed="0.000184"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:06.959515" elapsed="0.002338"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.962289" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.962031" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.962016" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.963036" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.962684" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.963836" level="INFO">${item} =     {
      "group-id": 32,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 32000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.963220" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.964023" elapsed="0.000183"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:06.961986" elapsed="0.002274"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.964681" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.964443" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.964427" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.965445" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.965074" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.966200" level="INFO">${item} =     {
      "group-id": 33,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 33000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.965628" elapsed="0.000601"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.966403" elapsed="0.000182"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:06.964397" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.967045" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.966805" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.966788" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.967843" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.967458" elapsed="0.000412"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.968622" level="INFO">${item} =     {
      "group-id": 34,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 34000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.968026" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.968807" elapsed="0.000183"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:06.966757" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.969468" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.969212" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.969194" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.970213" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.969861" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.970986" level="INFO">${item} =     {
      "group-id": 35,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 35000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.970412" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.971170" elapsed="0.000202"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:06.969163" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.972010" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.971702" elapsed="0.000553"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.971574" elapsed="0.000710"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.972788" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.972432" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.973568" level="INFO">${item} =     {
      "group-id": 36,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 36000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.972971" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.973752" elapsed="0.000185"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:06.971544" elapsed="0.002430"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.974411" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.974153" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.974137" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.975159" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.974806" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.975980" level="INFO">${item} =     {
      "group-id": 37,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 37000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.975360" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.976166" elapsed="0.000205"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:06.974107" elapsed="0.002302"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.976830" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.976591" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.976575" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.977596" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.977223" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.978395" level="INFO">${item} =     {
      "group-id": 38,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 38000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.977797" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.978580" elapsed="0.000184"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:06.976545" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.979218" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.978981" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.978966" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.979997" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.979628" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.980772" level="INFO">${item} =     {
      "group-id": 39,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 39000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.980179" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.980959" elapsed="0.000183"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:06.978936" elapsed="0.002244"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.981612" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.981376" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.981361" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.982369" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.982002" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.983121" level="INFO">${item} =     {
      "group-id": 40,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 40000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.982551" elapsed="0.000598"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.983357" elapsed="0.000187"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:06.981330" elapsed="0.002252"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.984036" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.983762" elapsed="0.000513"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.983747" elapsed="0.000555"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.984801" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.984446" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.985580" level="INFO">${item} =     {
      "group-id": 41,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 41000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.984982" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.985764" elapsed="0.000183"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:06.983717" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.986417" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.986162" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.986147" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.987157" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.986806" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.987955" level="INFO">${item} =     {
      "group-id": 42,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 42000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.987356" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.988138" elapsed="0.000202"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:06.986118" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.988914" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.988670" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.988545" elapsed="0.000618"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.989675" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.989323" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.990446" level="INFO">${item} =     {
      "group-id": 43,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 43000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.989856" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.990630" elapsed="0.000183"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:06.988514" elapsed="0.002336"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.991283" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.991029" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.991014" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.992072" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.991678" elapsed="0.000422"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.992852" level="INFO">${item} =     {
      "group-id": 44,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 44000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.992273" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.993037" elapsed="0.000182"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:06.990983" elapsed="0.002291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.993697" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.993458" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.993443" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.994468" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.994092" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.995298" level="INFO">${item} =     {
      "group-id": 45,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 45000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.994688" elapsed="0.000640"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.995486" elapsed="0.000185"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:06.993412" elapsed="0.002298"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.996159" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.995897" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.995877" elapsed="0.000550"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.996926" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.996572" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.997699" level="INFO">${item} =     {
      "group-id": 46,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 46000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.997108" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.997888" elapsed="0.000191"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:06.995847" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:06.998555" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:06.998316" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:06.998300" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:06.999323" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.998947" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.000117" level="INFO">${item} =     {
      "group-id": 47,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 47000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:06.999506" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.000333" elapsed="0.000186"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:06.998268" elapsed="0.002289"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.000976" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.000741" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.000723" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.001741" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.001391" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.002522" level="INFO">${item} =     {
      "group-id": 48,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 48000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.001927" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.002704" elapsed="0.000183"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:07.000692" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.003364" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.003103" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.003088" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.004148" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.003752" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.004917" level="INFO">${item} =     {
      "group-id": 49,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 49000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.004344" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.005099" elapsed="0.000201"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:07.003057" elapsed="0.002281"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.005875" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.005628" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.005502" elapsed="0.000661"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.006693" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.006333" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.007475" level="INFO">${item} =     {
      "group-id": 50,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 50000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.006877" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.007660" elapsed="0.000185"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:07.005472" elapsed="0.002410"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.008351" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.008094" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.008079" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.009102" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.008748" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.009877" level="INFO">${item} =     {
      "group-id": 51,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 51000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.009300" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.010063" elapsed="0.000199"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:07.008047" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.010720" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.010483" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.010468" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.011478" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.011110" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.012266" level="INFO">${item} =     {
      "group-id": 52,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 52000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.011658" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.012450" elapsed="0.000186"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:07.010438" elapsed="0.002236"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.013088" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.012852" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.012837" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.013845" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.013495" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.014623" level="INFO">${item} =     {
      "group-id": 53,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 53000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.014027" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.014806" elapsed="0.000182"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:07.012807" elapsed="0.002218"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.015459" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.015204" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.015189" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.016260" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.015848" elapsed="0.000441"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.017019" level="INFO">${item} =     {
      "group-id": 54,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 54000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.016444" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.017201" elapsed="0.000200"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:07.015159" elapsed="0.002326"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.017921" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.017675" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.017659" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.018695" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.018331" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.019468" level="INFO">${item} =     {
      "group-id": 55,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 55000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.018877" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.019654" elapsed="0.000184"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:07.017629" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.020323" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.020055" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.020040" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.021068" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.020713" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.021840" level="INFO">${item} =     {
      "group-id": 56,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 56000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.021265" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.022023" elapsed="0.000182"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:07.020010" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.022792" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.022550" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.022425" elapsed="0.000631"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.023579" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.023208" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.024390" level="INFO">${item} =     {
      "group-id": 57,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 57000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.023760" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.024573" elapsed="0.000184"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:07.022395" elapsed="0.002400"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.025209" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.024973" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.024958" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.025970" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.025618" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.026745" level="INFO">${item} =     {
      "group-id": 58,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 58000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.026150" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.026927" elapsed="0.000184"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:07.024928" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.027589" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.027353" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.027338" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.028363" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.027977" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.029112" level="INFO">${item} =     {
      "group-id": 59,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 59000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.028543" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.029351" elapsed="0.000184"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:07.027307" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.029995" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.029758" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.029743" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.030761" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.030409" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.031533" level="INFO">${item} =     {
      "group-id": 60,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 60000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.030941" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.031715" elapsed="0.000183"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:07.029713" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.032399" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.032116" elapsed="0.000507"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.032101" elapsed="0.000548"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.033141" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.032791" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.033914" level="INFO">${item} =     {
      "group-id": 61,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 61000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.033338" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.034096" elapsed="0.000198"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:07.032071" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.034746" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.034511" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.034496" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.035504" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.035133" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.036286" level="INFO">${item} =     {
      "group-id": 62,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 62000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.035684" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.036469" elapsed="0.000185"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:07.034466" elapsed="0.002226"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.037109" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.036872" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.036857" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.037865" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.037513" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.038647" level="INFO">${item} =     {
      "group-id": 63,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 63000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.038043" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.038842" elapsed="0.000189"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:07.036826" elapsed="0.002243"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.039677" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.039384" elapsed="0.000527"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.039259" elapsed="0.000680"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.040547" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.040085" elapsed="0.000531"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.041385" level="INFO">${item} =     {
      "group-id": 64,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 64000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.040779" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.041571" elapsed="0.000185"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:07.039211" elapsed="0.002583"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.042212" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.041974" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.041959" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.042976" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.042624" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.043754" level="INFO">${item} =     {
      "group-id": 65,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 65000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.043157" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.043938" elapsed="0.000184"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:07.041929" elapsed="0.002230"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.044611" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.044372" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.044357" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.045371" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.045002" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.046138" level="INFO">${item} =     {
      "group-id": 66,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 66000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.045556" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.046339" elapsed="0.000185"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:07.044326" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.046980" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.046743" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.046728" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.047747" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.047398" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.048552" level="INFO">${item} =     {
      "group-id": 67,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 67000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.047928" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.048738" elapsed="0.000188"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:07.046698" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.049397" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.049140" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.049125" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.050140" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.049791" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.050917" level="INFO">${item} =     {
      "group-id": 68,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 68000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.050337" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.051099" elapsed="0.000200"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:07.049095" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.051797" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.051524" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.051506" elapsed="0.000546"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.052587" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.052197" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.053363" level="INFO">${item} =     {
      "group-id": 69,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 69000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.052770" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.053548" elapsed="0.000184"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:07.051474" elapsed="0.002295"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.054184" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.053949" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.053934" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.054949" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.054594" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.055731" level="INFO">${item} =     {
      "group-id": 70,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 70000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.055132" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.055917" elapsed="0.000183"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:07.053903" elapsed="0.002234"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.057326" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.057061" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.056320" elapsed="0.001259"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.058079" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.057722" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.058851" level="INFO">${item} =     {
      "group-id": 71,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 71000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.058276" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.059036" elapsed="0.000183"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:07.056289" elapsed="0.002985"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.059697" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.059457" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.059441" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.060485" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.060088" elapsed="0.000424"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.061254" level="INFO">${item} =     {
      "group-id": 72,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 72000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.060668" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.061440" elapsed="0.000184"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:07.059410" elapsed="0.002251"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.062077" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.061839" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.061825" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.062834" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.062485" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.063610" level="INFO">${item} =     {
      "group-id": 73,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 73000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.063015" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.063833" elapsed="0.000185"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:07.061794" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.064522" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.064239" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.064221" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.065288" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.064919" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.066043" level="INFO">${item} =     {
      "group-id": 74,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 74000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.065469" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.066227" elapsed="0.000202"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:07.064190" elapsed="0.002276"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.066885" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.066644" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.066629" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.067652" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.067296" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.068435" level="INFO">${item} =     {
      "group-id": 75,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 75000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.067834" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.068638" elapsed="0.000186"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:07.066599" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.069310" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.069051" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.069035" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.070064" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.069711" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.070843" level="INFO">${item} =     {
      "group-id": 76,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 76000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.070263" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.071035" elapsed="0.000185"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:07.069004" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.071701" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.071460" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.071444" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.072503" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.072097" elapsed="0.000435"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.073321" level="INFO">${item} =     {
      "group-id": 77,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 77000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.072690" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.073508" elapsed="0.000184"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:07.071413" elapsed="0.002317"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.074292" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.074030" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.073900" elapsed="0.000647"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.075049" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.074691" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.075873" level="INFO">${item} =     {
      "group-id": 78,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 78000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.075290" elapsed="0.000612"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.076060" elapsed="0.000204"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:07.073864" elapsed="0.002439"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.076755" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.076486" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.076470" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.077692" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.077334" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.078471" level="INFO">${item} =     {
      "group-id": 79,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 79000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.077878" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.078658" elapsed="0.000190"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:07.076439" elapsed="0.002449"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.079323" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.079069" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.079054" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.080066" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.079716" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.080881" level="INFO">${item} =     {
      "group-id": 80,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 80000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.080264" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.081068" elapsed="0.000200"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:07.079023" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.081723" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.081486" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.081471" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.082485" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.082114" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.083254" level="INFO">${item} =     {
      "group-id": 81,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 81000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.082666" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.083440" elapsed="0.000183"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:07.081441" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.084077" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.083839" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.083825" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.084861" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.084488" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.085629" level="INFO">${item} =     {
      "group-id": 82,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 82000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.085040" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.085810" elapsed="0.000183"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:07.083795" elapsed="0.002235"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.086464" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.086207" elapsed="0.000517"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.086193" elapsed="0.000560"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.087279" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.086902" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.088042" level="INFO">${item} =     {
      "group-id": 83,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 83000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.087464" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.088227" elapsed="0.000209"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:07.086163" elapsed="0.002311"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.088930" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.088691" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.088676" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.089693" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.089340" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.090468" level="INFO">${item} =     {
      "group-id": 84,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 84000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.089874" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.090653" elapsed="0.000183"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:07.088644" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.091431" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.091169" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.091039" elapsed="0.000641"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.092186" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.091825" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.092989" level="INFO">${item} =     {
      "group-id": 85,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 85000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.092387" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.093173" elapsed="0.000207"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:07.091009" elapsed="0.002409"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.093839" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.093600" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.093584" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.094605" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.094233" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.095381" level="INFO">${item} =     {
      "group-id": 86,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 86000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.094787" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.095564" elapsed="0.000182"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:07.093554" elapsed="0.002229"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.096199" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.095964" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.095949" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.097003" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.096608" elapsed="0.000421"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.097783" level="INFO">${item} =     {
      "group-id": 87,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 87000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.097184" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.097965" elapsed="0.000183"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:07.095919" elapsed="0.002309"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.098670" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.098432" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.098416" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.099438" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.099062" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.100190" level="INFO">${item} =     {
      "group-id": 88,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 88000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.099619" elapsed="0.000600"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.100391" elapsed="0.000180"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:07.098386" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.101043" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.100807" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.100792" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.101798" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.101449" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.102567" level="INFO">${item} =     {
      "group-id": 89,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 89000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.101978" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.102751" elapsed="0.000184"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:07.100760" elapsed="0.002213"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.103414" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.103154" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.103138" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.104159" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.103806" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.104968" level="INFO">${item} =     {
      "group-id": 90,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 90000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.104356" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.105151" elapsed="0.000201"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:07.103107" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.105810" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.105573" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.105557" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.106576" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.106202" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.107360" level="INFO">${item} =     {
      "group-id": 91,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 91000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.106759" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.107546" elapsed="0.000185"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:07.105527" elapsed="0.002241"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.108354" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.108090" elapsed="0.000490"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.107935" elapsed="0.000672"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.109143" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.108785" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.109934" level="INFO">${item} =     {
      "group-id": 92,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 92000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.109343" elapsed="0.000688"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.110191" elapsed="0.000207"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:07.107904" elapsed="0.002533"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.110888" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.110646" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.110629" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.111655" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.111301" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.112425" level="INFO">${item} =     {
      "group-id": 93,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 93000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.111836" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.112608" elapsed="0.000225"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:07.110595" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.113316" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.113059" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.113043" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.114065" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.113707" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.114843" level="INFO">${item} =     {
      "group-id": 94,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 94000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.114263" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.115031" elapsed="0.000184"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:07.113011" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.115695" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.115456" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.115439" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.116460" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.116089" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.117264" level="INFO">${item} =     {
      "group-id": 95,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 95000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.116641" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.117450" elapsed="0.000185"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:07.115408" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.118094" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.117856" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.117840" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.118853" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.118503" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.119622" level="INFO">${item} =     {
      "group-id": 96,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 96000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.119034" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.119805" elapsed="0.000184"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:07.117810" elapsed="0.002217"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.120463" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.120206" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.120191" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.121236" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.120881" elapsed="0.000432"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.122050" level="INFO">${item} =     {
      "group-id": 97,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 97000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.121473" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.122237" elapsed="0.000198"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:07.120161" elapsed="0.002312"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.122893" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.122655" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.122639" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.123665" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.123310" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.124450" level="INFO">${item} =     {
      "group-id": 98,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 98000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.123851" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.124636" elapsed="0.000183"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:07.122609" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.125440" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.125178" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.125051" elapsed="0.000641"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.126192" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.125837" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.126977" level="INFO">${item} =     {
      "group-id": 99,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 99000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.126404" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.127161" elapsed="0.000204"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:07.125020" elapsed="0.002383"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.127824" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.127584" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.127568" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.128601" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.128223" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.129426" level="INFO">${item} =     {
      "group-id": 100,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 100000,
            "action": [
              {
                "...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.128785" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.129614" elapsed="0.000185"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:07.127538" elapsed="0.002299"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:06.886197" elapsed="0.243674"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.131176" level="INFO">${final_text} = {
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
  ...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:07.130038" elapsed="0.001167"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.131288" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:38:07.131486" level="INFO">${data} = {
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
  ...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:06.830619" elapsed="0.300896"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.133100" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.132787" elapsed="0.000401">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.133303" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.132430" elapsed="0.000899"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.133668" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.133409" elapsed="0.000316"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.134313" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.133994" elapsed="0.000346"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.133752" elapsed="0.000624"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.133387" elapsed="0.001011"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.136838" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.134560" elapsed="0.002305"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:07.136920" elapsed="0.000082"/>
</return>
<msg time="2026-05-25T00:38:07.137143" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:07.132031" elapsed="0.005137"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.138829" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A2</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.138560" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.139285" level="INFO">{
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 1000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-1",
      "group-type": "group-ff"
    },
    {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 2000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-2",
      "group-type": "group-ff"
    },
    {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 3000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-3",
      "group-type": "group-ff"
    },
    {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 4000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-4",
      "group-type": "group-ff"
    },
    {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 5000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-5",
      "group-type": "group-ff"
    },
    {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 6000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-6",
      "group-type": "group-ff"
    },
    {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 7000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-7",
      "group-type": "group-ff"
    },
    {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 8000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-8",
      "group-type": "group-ff"
    },
    {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 9000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-9",
      "group-type": "group-ff"
    },
    {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 10000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-10",
      "group-type": "group-ff"
    },
    {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 11000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-11",
      "group-type": "group-ff"
    },
    {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 12000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-12",
      "group-type": "group-ff"
    },
    {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 13000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-13",
      "group-type": "group-ff"
    },
    {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 14000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-14",
      "group-type": "group-ff"
    },
    {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 15000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-15",
      "group-type": "group-ff"
    },
    {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 16000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-16",
      "group-type": "group-ff"
    },
    {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 17000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-17",
      "group-type": "group-ff"
    },
    {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 18000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-18",
      "group-type": "group-ff"
    },
    {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 19000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-19",
      "group-type": "group-ff"
    },
    {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 20000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-20",
      "group-type": "group-ff"
    },
    {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 21000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-21",
      "group-type": "group-ff"
    },
    {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 22000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-22",
      "group-type": "group-ff"
    },
    {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 23000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-23",
      "group-type": "group-ff"
    },
    {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 24000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-24",
      "group-type": "group-ff"
    },
    {
      "group-id": 25,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 25000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 25000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-25",
      "group-type": "group-ff"
    },
    {
      "group-id": 26,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 26000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 26000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-26",
      "group-type": "group-ff"
    },
    {
      "group-id": 27,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 27000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 27000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-27",
      "group-type": "group-ff"
    },
    {
      "group-id": 28,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 28000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 28000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-28",
      "group-type": "group-ff"
    },
    {
      "group-id": 29,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 29000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 29000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-29",
      "group-type": "group-ff"
    },
    {
      "group-id": 30,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 30000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 30000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-30",
      "group-type": "group-ff"
    },
    {
      "group-id": 31,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 31000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 31000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-31",
      "group-type": "group-ff"
    },
    {
      "group-id": 32,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 32000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 32000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-32",
      "group-type": "group-ff"
    },
    {
      "group-id": 33,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 33000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 33000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-33",
      "group-type": "group-ff"
    },
    {
      "group-id": 34,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 34000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 34000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-34",
      "group-type": "group-ff"
    },
    {
      "group-id": 35,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 35000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 35000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-35",
      "group-type": "group-ff"
    },
    {
      "group-id": 36,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 36000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 36000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-36",
      "group-type": "group-ff"
    },
    {
      "group-id": 37,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 37000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 37000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-37",
      "group-type": "group-ff"
    },
    {
      "group-id": 38,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 38000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 38000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-38",
      "group-type": "group-ff"
    },
    {
      "group-id": 39,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 39000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 39000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-39",
      "group-type": "group-ff"
    },
    {
      "group-id": 40,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 40000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 40000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-40",
      "group-type": "group-ff"
    },
    {
      "group-id": 41,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 41000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 41000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-41",
      "group-type": "group-ff"
    },
    {
      "group-id": 42,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 42000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 42000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-42",
      "group-type": "group-ff"
    },
    {
      "group-id": 43,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 43000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 43000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-43",
      "group-type": "group-ff"
    },
    {
      "group-id": 44,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 44000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 44000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-44",
      "group-type": "group-ff"
    },
    {
      "group-id": 45,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 45000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 45000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-45",
      "group-type": "group-ff"
    },
    {
      "group-id": 46,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 46000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 46000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-46",
      "group-type": "group-ff"
    },
    {
      "group-id": 47,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 47000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 47000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-47",
      "group-type": "group-ff"
    },
    {
      "group-id": 48,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 48000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 48000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-48",
      "group-type": "group-ff"
    },
    {
      "group-id": 49,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 49000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 49000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-49",
      "group-type": "group-ff"
    },
    {
      "group-id": 50,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 50000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 50000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-50",
      "group-type": "group-ff"
    },
    {
      "group-id": 51,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 51000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 51000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-51",
      "group-type": "group-ff"
    },
    {
      "group-id": 52,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 52000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 52000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-52",
      "group-type": "group-ff"
    },
    {
      "group-id": 53,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 53000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 53000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-53",
      "group-type": "group-ff"
    },
    {
      "group-id": 54,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 54000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 54000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-54",
      "group-type": "group-ff"
    },
    {
      "group-id": 55,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 55000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 55000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-55",
      "group-type": "group-ff"
    },
    {
      "group-id": 56,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 56000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 56000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-56",
      "group-type": "group-ff"
    },
    {
      "group-id": 57,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 57000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 57000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-57",
      "group-type": "group-ff"
    },
    {
      "group-id": 58,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 58000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 58000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-58",
      "group-type": "group-ff"
    },
    {
      "group-id": 59,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 59000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 59000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-59",
      "group-type": "group-ff"
    },
    {
      "group-id": 60,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 60000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 60000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-60",
      "group-type": "group-ff"
    },
    {
      "group-id": 61,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 61000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 61000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-61",
      "group-type": "group-ff"
    },
    {
      "group-id": 62,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 62000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 62000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-62",
      "group-type": "group-ff"
    },
    {
      "group-id": 63,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 63000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 63000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-63",
      "group-type": "group-ff"
    },
    {
      "group-id": 64,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 64000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 64000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-64",
      "group-type": "group-ff"
    },
    {
      "group-id": 65,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 65000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 65000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-65",
      "group-type": "group-ff"
    },
    {
      "group-id": 66,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 66000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 66000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-66",
      "group-type": "group-ff"
    },
    {
      "group-id": 67,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 67000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 67000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-67",
      "group-type": "group-ff"
    },
    {
      "group-id": 68,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 68000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 68000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-68",
      "group-type": "group-ff"
    },
    {
      "group-id": 69,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 69000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 69000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-69",
      "group-type": "group-ff"
    },
    {
      "group-id": 70,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 70000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 70000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-70",
      "group-type": "group-ff"
    },
    {
      "group-id": 71,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 71000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 71000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-71",
      "group-type": "group-ff"
    },
    {
      "group-id": 72,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 72000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 72000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-72",
      "group-type": "group-ff"
    },
    {
      "group-id": 73,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 73000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 73000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-73",
      "group-type": "group-ff"
    },
    {
      "group-id": 74,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 74000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 74000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-74",
      "group-type": "group-ff"
    },
    {
      "group-id": 75,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 75000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 75000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-75",
      "group-type": "group-ff"
    },
    {
      "group-id": 76,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 76000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 76000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-76",
      "group-type": "group-ff"
    },
    {
      "group-id": 77,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 77000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 77000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-77",
      "group-type": "group-ff"
    },
    {
      "group-id": 78,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 78000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 78000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-78",
      "group-type": "group-ff"
    },
    {
      "group-id": 79,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 79000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 79000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-79",
      "group-type": "group-ff"
    },
    {
      "group-id": 80,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 80000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 80000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-80",
      "group-type": "group-ff"
    },
    {
      "group-id": 81,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 81000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 81000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-81",
      "group-type": "group-ff"
    },
    {
      "group-id": 82,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 82000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 82000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-82",
      "group-type": "group-ff"
    },
    {
      "group-id": 83,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 83000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 83000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-83",
      "group-type": "group-ff"
    },
    {
      "group-id": 84,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 84000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 84000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-84",
      "group-type": "group-ff"
    },
    {
      "group-id": 85,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 85000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 85000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-85",
      "group-type": "group-ff"
    },
    {
      "group-id": 86,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 86000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 86000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-86",
      "group-type": "group-ff"
    },
    {
      "group-id": 87,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 87000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 87000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-87",
      "group-type": "group-ff"
    },
    {
      "group-id": 88,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 88000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 88000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-88",
      "group-type": "group-ff"
    },
    {
      "group-id": 89,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 89000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 89000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-89",
      "group-type": "group-ff"
    },
    {
      "group-id": 90,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 90000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 90000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-90",
      "group-type": "group-ff"
    },
    {
      "group-id": 91,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 91000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 91000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-91",
      "group-type": "group-ff"
    },
    {
      "group-id": 92,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 92000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 92000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-92",
      "group-type": "group-ff"
    },
    {
      "group-id": 93,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 93000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 93000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-93",
      "group-type": "group-ff"
    },
    {
      "group-id": 94,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 94000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 94000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-94",
      "group-type": "group-ff"
    },
    {
      "group-id": 95,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 95000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 95000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-95",
      "group-type": "group-ff"
    },
    {
      "group-id": 96,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 96000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 96000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-96",
      "group-type": "group-ff"
    },
    {
      "group-id": 97,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 97000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 97000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-97",
      "group-type": "group-ff"
    },
    {
      "group-id": 98,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 98000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 98000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-98",
      "group-type": "group-ff"
    },
    {
      "group-id": 99,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 99000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 99000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-99",
      "group-type": "group-ff"
    },
    {
      "group-id": 100,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 100000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 100000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-100",
      "group-type": "group-ff"
    }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.139030" elapsed="0.000700"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.140135" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.139885" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.140586" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.140347" elapsed="0.000285"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:07.141534" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:07.141322" elapsed="0.000238"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:07.141899" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:07.141718" elapsed="0.000207"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.142077" elapsed="0.000233"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.142718" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.142466" elapsed="0.000297"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:07.142806" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:07.142973" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:07.140852" elapsed="0.002146"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:07.174040" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '42507', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 1000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-1",
      "group-type": "group-ff"
    },
    {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 2000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-2",
      "group-type": "group-ff"
    },
    {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 3000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-3",
      "group-type": "group-ff"
    },
    {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 4000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-4",
      "group-type": "group-ff"
    },
    {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 5000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-5",
      "group-type": "group-ff"
    },
    {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 6000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-6",
      "group-type": "group-ff"
    },
    {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 7000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-7",
      "group-type": "group-ff"
    },
    {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 8000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-8",
      "group-type": "group-ff"
    },
    {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 9000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-9",
      "group-type": "group-ff"
    },
    {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 10000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-10",
      "group-type": "group-ff"
    },
    {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 11000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-11",
      "group-type": "group-ff"
    },
    {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 12000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-12",
      "group-type": "group-ff"
    },
    {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 13000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-13",
      "group-type": "group-ff"
    },
    {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 14000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-14",
      "group-type": "group-ff"
    },
    {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 15000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-15",
      "group-type": "group-ff"
    },
    {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 16000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-16",
      "group-type": "group-ff"
    },
    {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 17000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-17",
      "group-type": "group-ff"
    },
    {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 18000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-18",
      "group-type": "group-ff"
    },
    {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 19000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-19",
      "group-type": "group-ff"
    },
    {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 20000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-20",
      "group-type": "group-ff"
    },
    {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 21000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-21",
      "group-type": "group-ff"
    },
    {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 22000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-22",
      "group-type": "group-ff"
    },
    {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 23000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-23",
      "group-type": "group-ff"
    },
    {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "order": 1,
                "... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:07.174525" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=88', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:07.174847" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:07.145534" elapsed="0.029382"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.143352" elapsed="0.031696"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.175634" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.175129" elapsed="0.000674"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.143056" elapsed="0.032804"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.182349" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.178593" elapsed="0.003852"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.178224" elapsed="0.004323"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.178193" elapsed="0.004440"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.186502" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.183127" elapsed="0.003444"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.182762" elapsed="0.003871"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.182733" elapsed="0.003937"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.187657" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.187012" elapsed="0.000696"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.188201" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.187813" elapsed="0.000499"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.189065" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.188619" elapsed="0.000488"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.188350" elapsed="0.000809"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.187785" elapsed="0.001407"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.189988" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.189507" elapsed="0.000508"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.190350" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.190084" elapsed="0.000323"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.190902" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.190606" elapsed="0.000322"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.190432" elapsed="0.000531"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.190065" elapsed="0.000920"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:07.191147" elapsed="0.000375"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:07.192005" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.191690" elapsed="0.000341"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.192186" elapsed="0.002255"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:07.176868" elapsed="0.017650"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:07.194713" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:07.194598" elapsed="0.000168"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.194578" elapsed="0.000211"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:07.197223" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:07.194936" elapsed="0.002329"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:07.197315" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:38:07.197524" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:07.137566" elapsed="0.059984"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.197699" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:07.197859" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:06.734983" elapsed="0.462904"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.198294" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.197999" elapsed="0.000368"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.197981" elapsed="0.000410"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.198425" elapsed="0.000026"/>
</return>
<arg>folder=${VAR_DIR}/add-group-2</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${iter}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:06.732319" elapsed="0.466232"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:06.720754" elapsed="0.477848"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.199340" level="INFO">&amp;{mapping} = { NODE=openflow:3 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.198872" elapsed="0.000498"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.241381" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.240970" elapsed="0.000446"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.242221" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.241951" elapsed="0.000372">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.242421" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.241588" elapsed="0.000858"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.243000" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.242614" elapsed="0.000414"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.243352" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.243526" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.243190" elapsed="0.000362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.243958" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.243710" elapsed="0.000296"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.244992" level="INFO">mapping: {'NODE': 'openflow:3'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.244732" elapsed="0.000305"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.245490" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.245200" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.246325" level="INFO">${value} = openflow:3</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:07.245933" elapsed="0.000418"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:07.247368" level="INFO">${encoded} = openflow%3A3</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.246888" elapsed="0.000507"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:07.247448" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:38:07.247672" level="INFO">${encoded_value} = openflow%3A3</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:07.246541" elapsed="0.001157"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.247893" elapsed="0.000290"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:38:07.245785" elapsed="0.002440"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:07.245570" elapsed="0.002719"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:07.248335" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:07.248494" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:07.244406" elapsed="0.004113"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.244083" elapsed="0.004469"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.248727" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.248577" elapsed="0.000207"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.244058" elapsed="0.004748"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.249529" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A3</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.248952" elapsed="0.000605"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.249606" elapsed="0.000029"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.240346" elapsed="0.009386"/>
</kw>
<msg time="2026-05-25T00:38:07.261731" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:07.228119" elapsed="0.038781"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.287172" elapsed="0.000095"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.299393" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.311333" elapsed="0.000027"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.311576" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.311765" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.312217" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.312053" elapsed="0.000240"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:07.312034" elapsed="0.000290"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.312476" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.314985" elapsed="0.000035"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.315187" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:07.311987" elapsed="0.003274"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:07.311860" elapsed="0.003438"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.315464" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:07.315550" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:38:07.316195" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A3</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:07.223947" elapsed="0.092278"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:07.327187" elapsed="0.000457"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.340549" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.340135" elapsed="0.000443"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.341850" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.341089" elapsed="0.000846">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.342036" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.340742" elapsed="0.001320"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.342737" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.342264" elapsed="0.000502"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.343084" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.343275" level="INFO">${template} = {
  "flow-node-inventory:group": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.342934" elapsed="0.000368"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.343715" level="INFO">{
  "flow-node-inventory:group": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.343463" elapsed="0.000300"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:07.344160" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.343843" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.344717" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.344417" elapsed="0.000326"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.344264" elapsed="0.000515"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.343819" elapsed="0.000984"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.345425" level="INFO">${final_text} = {
  "flow-node-inventory:group": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.344953" elapsed="0.000499"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.345505" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:38:07.345671" level="INFO">${prolog} = {
  "flow-node-inventory:group": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.339516" elapsed="0.006185"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.359089" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.358702" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.359863" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.359652" elapsed="0.000275">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.360023" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.359304" elapsed="0.000744"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.360621" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.360214" elapsed="0.000435"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.360951" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.361077" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.360813" elapsed="0.000289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.361526" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.361277" elapsed="0.000294"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:07.361942" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.361639" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.362497" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.362175" elapsed="0.000348"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.362027" elapsed="0.000532"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.361620" elapsed="0.000961"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.363216" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.362758" elapsed="0.000514"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.363322" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:07.363491" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.358002" elapsed="0.005514"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.376854" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.376473" elapsed="0.000410"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.377619" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.377406" elapsed="0.000279">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.377790" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.377046" elapsed="0.000769"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.378390" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.377980" elapsed="0.000438"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.378717" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.378906" level="INFO">${template} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.378581" elapsed="0.000353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.379362" level="INFO">    {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": ${i}000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-${i}",
      "group-type": "group-ff"
    }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.379095" elapsed="0.000317"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:07.379774" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.379480" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.380325" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.380007" elapsed="0.000345"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.379859" elapsed="0.000528"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.379460" elapsed="0.000949"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.381149" level="INFO">${final_text} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.380558" elapsed="0.000620"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.381227" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:38:07.381408" level="INFO">${item_template} =     {
      "group-id": ${i},
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": ${i}000,
            "action": [
              {
               ...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.375906" elapsed="0.005528"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.381868" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:07.381600" elapsed="0.000295"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.382530" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.382056" elapsed="0.000511"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.383492" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.383141" elapsed="0.000425"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.383121" elapsed="0.000479"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.384344" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.383822" elapsed="0.000556"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.385518" level="INFO">${item} =     {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.384553" elapsed="0.001002"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.385767" elapsed="0.000281"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:07.383079" elapsed="0.003017"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.386683" elapsed="0.000289"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.386356" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.386336" elapsed="0.000718"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.387663" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.387269" elapsed="0.000422"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.388464" level="INFO">${item} =     {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.387851" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.388653" elapsed="0.000234"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:07.386293" elapsed="0.002642"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.389429" elapsed="0.000253"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.389136" elapsed="0.000593"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.389119" elapsed="0.000639"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.390348" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.389931" elapsed="0.000452"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.391337" level="INFO">${item} =     {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.390565" elapsed="0.000804"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.391548" elapsed="0.000211"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:07.389085" elapsed="0.002720"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.392342" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.392031" elapsed="0.000563"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.392013" elapsed="0.000610"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.393196" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.392788" elapsed="0.000438"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.394117" level="INFO">${item} =     {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.393425" elapsed="0.000724"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.394378" elapsed="0.000229"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:07.391968" elapsed="0.002682"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.395219" elapsed="0.000230"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.394936" elapsed="0.000556"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.394835" elapsed="0.000686"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.396127" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.395690" elapsed="0.000466"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.397055" level="INFO">${item} =     {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.396358" elapsed="0.000728"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.397305" elapsed="0.000219"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:07.394801" elapsed="0.002764"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.398053" elapsed="0.000225"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.397775" elapsed="0.000547"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.397753" elapsed="0.000605"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.398962" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.398530" elapsed="0.000462"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.399872" level="INFO">${item} =     {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.399175" elapsed="0.000732"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.400096" elapsed="0.000245"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:07.397719" elapsed="0.002673"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.400906" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.400608" elapsed="0.000560"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.400591" elapsed="0.000606"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.401810" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.401398" elapsed="0.000441"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.402761" level="INFO">${item} =     {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.402027" elapsed="0.000765"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.403052" elapsed="0.000243"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:07.400557" elapsed="0.002798"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.403875" elapsed="0.000218"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.403576" elapsed="0.000560"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.403560" elapsed="0.000612"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.404810" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.404388" elapsed="0.000452"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.405919" level="INFO">${item} =     {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.405030" elapsed="0.000922"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.406141" elapsed="0.000234"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:07.403522" elapsed="0.002900"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.406930" elapsed="0.000255"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.406653" elapsed="0.000579"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.406636" elapsed="0.000644"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.407874" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.407450" elapsed="0.000453"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.408780" level="INFO">${item} =     {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "orde...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.408079" elapsed="0.000736"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.408998" elapsed="0.000211"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:07.406600" elapsed="0.002674"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.409766" elapsed="0.000213"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.409489" elapsed="0.000535"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.409472" elapsed="0.000582"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.410643" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.410222" elapsed="0.000452"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.411466" level="INFO">${item} =     {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.410839" elapsed="0.000657"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.411651" elapsed="0.000184"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:07.409435" elapsed="0.002438"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.412312" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.412057" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.412042" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.413056" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.412704" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.413829" level="INFO">${item} =     {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.413240" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.414013" elapsed="0.000181"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:07.412012" elapsed="0.002220"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.414668" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.414430" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.414415" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.415470" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.415101" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.416230" level="INFO">${item} =     {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.415652" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.416472" elapsed="0.000185"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:07.414385" elapsed="0.002310"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.417113" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.416876" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.416861" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.417875" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.417523" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.418654" level="INFO">${item} =     {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.418059" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.418839" elapsed="0.000197"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:07.416830" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.419518" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.419278" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.419261" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.420276" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.419910" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.421041" level="INFO">${item} =     {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.420460" elapsed="0.000610"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.421224" elapsed="0.000217"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:07.419211" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.421898" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.421661" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.421645" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.422779" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.422307" elapsed="0.000499"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.423588" level="INFO">${item} =     {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.422962" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.423768" elapsed="0.000183"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:07.421614" elapsed="0.002375"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.424423" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.424167" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.424153" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.425165" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.424813" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.425936" level="INFO">${item} =     {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.425362" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.426117" elapsed="0.000200"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:07.424123" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.426771" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.426534" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.426519" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.427598" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.427226" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.428382" level="INFO">${item} =     {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.427781" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.428566" elapsed="0.000185"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:07.426489" elapsed="0.002299"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.429205" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.428969" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.428954" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.429967" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.429615" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.430742" level="INFO">${item} =     {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.430147" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.430930" elapsed="0.000209"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:07.428924" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.431613" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.431376" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.431361" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.432375" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.432006" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.433133" level="INFO">${item} =     {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.432557" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.433333" elapsed="0.000185"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:07.431330" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.433972" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.433736" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.433721" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.434731" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.434379" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.435523" level="INFO">${item} =     {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.434910" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.435704" elapsed="0.000182"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:07.433691" elapsed="0.002231"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.436356" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.436103" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.436088" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.437100" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.436749" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.437882" level="INFO">${item} =     {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.437300" elapsed="0.000611"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.438066" elapsed="0.000200"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:07.436057" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.438766" elapsed="0.001378"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.438528" elapsed="0.001656"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.438513" elapsed="0.001697"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.440731" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.440372" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.441512" level="INFO">${item} =     {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.440914" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.441697" elapsed="0.000184"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:07.438482" elapsed="0.003437"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.442353" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.442098" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.442083" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.443100" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.442749" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.443898" level="INFO">${item} =     {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.443315" elapsed="0.000614"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.444084" elapsed="0.000200"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:07.442053" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.444742" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.444502" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.444487" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.445506" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.445133" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.446282" level="INFO">${item} =     {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.445689" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.446469" elapsed="0.000183"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:07.444456" elapsed="0.002234"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.447112" elapsed="0.000229"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.446869" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.446854" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.447904" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.447550" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.448685" level="INFO">${item} =     {
      "group-id": 25,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 25000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.448086" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.448869" elapsed="0.000185"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:07.446824" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.449531" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.449290" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.449274" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.450298" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.449927" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.451056" level="INFO">${item} =     {
      "group-id": 26,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 26000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.450481" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.451315" elapsed="0.000186"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:07.449226" elapsed="0.002314"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.451958" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.451719" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.451703" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.452721" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.452368" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.453497" level="INFO">${item} =     {
      "group-id": 27,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 27000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.452903" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.453683" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:07.451673" elapsed="0.002230"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.454338" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.454083" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.454068" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.455084" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.454732" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.455939" level="INFO">${item} =     {
      "group-id": 28,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 28000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.455323" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.456125" elapsed="0.000205"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:07.454038" elapsed="0.002331"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.456787" elapsed="0.000305"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.456549" elapsed="0.000582"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.456534" elapsed="0.000623"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.457674" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.457319" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.458455" level="INFO">${item} =     {
      "group-id": 29,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 29000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.457858" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.458639" elapsed="0.000183"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:07.456504" elapsed="0.002356"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.459301" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.459046" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.459030" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.460064" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.459711" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.460842" level="INFO">${item} =     {
      "group-id": 30,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 30000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.460263" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.461025" elapsed="0.000183"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:07.458999" elapsed="0.002264"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.461684" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.461444" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.461429" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.462460" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.462091" elapsed="0.000429"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.463283" level="INFO">${item} =     {
      "group-id": 31,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 31000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.462681" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.463498" elapsed="0.000186"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:07.461399" elapsed="0.002323"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.464140" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.463902" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.463886" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.464905" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.464552" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.465678" level="INFO">${item} =     {
      "group-id": 32,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 32000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.465085" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.465861" elapsed="0.000189"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:07.463856" elapsed="0.002231"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.466524" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.466284" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.466268" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.467287" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.466915" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.468060" level="INFO">${item} =     {
      "group-id": 33,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 33000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.467486" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.468266" elapsed="0.000187"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:07.466221" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.468912" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.468669" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.468654" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.469674" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.469322" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.470445" level="INFO">${item} =     {
      "group-id": 34,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 34000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.469855" elapsed="0.000619"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.470628" elapsed="0.000182"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:07.468625" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.471280" elapsed="0.000216"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.471027" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.471012" elapsed="0.000550"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.472058" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.471707" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.472833" level="INFO">${item} =     {
      "group-id": 35,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 35000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.472255" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.473017" elapsed="0.000181"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:07.470981" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.474354" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.473433" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.473418" elapsed="0.001195"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.475115" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.474759" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.475912" level="INFO">${item} =     {
      "group-id": 36,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 36000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.475315" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.476097" elapsed="0.000202"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:07.473388" elapsed="0.002950"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.476759" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.476521" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.476506" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.477520" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.477150" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.478294" level="INFO">${item} =     {
      "group-id": 37,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 37000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.477699" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.478477" elapsed="0.000182"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:07.476475" elapsed="0.002221"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.479109" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.478873" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.478858" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.479901" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.479546" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.480678" level="INFO">${item} =     {
      "group-id": 38,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 38000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.480082" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.480863" elapsed="0.000183"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:07.478829" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.481522" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.481283" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.481266" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.482283" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.481913" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.483042" level="INFO">${item} =     {
      "group-id": 39,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 39000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.482466" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.483224" elapsed="0.000202"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:07.481220" elapsed="0.002244"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.483892" elapsed="0.000286"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.483656" elapsed="0.000560"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.483641" elapsed="0.000617"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.484756" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.484407" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.485528" level="INFO">${item} =     {
      "group-id": 40,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 40000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.484936" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.485748" elapsed="0.000187"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:07.483612" elapsed="0.002361"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.486411" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.486153" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.486138" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.487157" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.486804" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.487977" level="INFO">${item} =     {
      "group-id": 41,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 41000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.487355" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.488160" elapsed="0.000201"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:07.486108" elapsed="0.002291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.488816" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.488580" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.488565" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.489578" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.489208" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.490359" level="INFO">${item} =     {
      "group-id": 42,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 42000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.489759" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.490541" elapsed="0.000182"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:07.488535" elapsed="0.002225"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.491314" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.491054" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.490931" elapsed="0.000657"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.492088" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.491734" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.492861" level="INFO">${item} =     {
      "group-id": 43,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 43000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.492286" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.493045" elapsed="0.000183"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:07.490899" elapsed="0.002383"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.493702" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.493464" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.493449" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.494465" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.494093" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.495219" level="INFO">${item} =     {
      "group-id": 44,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 44000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.494648" elapsed="0.000616"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.495420" elapsed="0.000219"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:07.493418" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.496097" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.495859" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.495844" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.496859" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.496508" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.497693" level="INFO">${item} =     {
      "group-id": 45,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 45000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.497087" elapsed="0.000636"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.497880" elapsed="0.000184"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:07.495813" elapsed="0.002289"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.498539" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.498300" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.498285" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.499298" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.498929" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.500081" level="INFO">${item} =     {
      "group-id": 46,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 46000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.499480" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.500281" elapsed="0.000184"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:07.498253" elapsed="0.002250"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.500920" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.500684" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.500668" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.501687" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.501332" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.502459" level="INFO">${item} =     {
      "group-id": 47,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 47000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.501867" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.502643" elapsed="0.000182"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:07.500638" elapsed="0.002224"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.503293" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.503040" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.503025" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.504070" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.503718" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.504848" level="INFO">${item} =     {
      "group-id": 48,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 48000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.504268" elapsed="0.000609"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.505031" elapsed="0.000182"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:07.502995" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.505693" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.505455" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.505436" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.506459" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.506089" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.507218" level="INFO">${item} =     {
      "group-id": 49,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 49000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.506641" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.507421" elapsed="0.000183"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:07.505405" elapsed="0.002237"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.508203" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.507957" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.507833" elapsed="0.000673"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.509011" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.508653" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.509788" level="INFO">${item} =     {
      "group-id": 50,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 50000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.509193" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.509971" elapsed="0.000183"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:07.507802" elapsed="0.002389"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.510627" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.510389" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.510374" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.511383" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.511016" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.512184" level="INFO">${item} =     {
      "group-id": 51,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 51000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.511565" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.512386" elapsed="0.000182"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:07.510344" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.513022" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.512784" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.512770" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.513782" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.513431" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.514556" level="INFO">${item} =     {
      "group-id": 52,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 52000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.513965" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.514739" elapsed="0.000182"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:07.512739" elapsed="0.002219"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.515393" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.515138" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.515123" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.516155" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.515804" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.516928" level="INFO">${item} =     {
      "group-id": 53,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 53000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.516353" elapsed="0.000604"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.517111" elapsed="0.000200"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:07.515093" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.517768" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.517530" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.517515" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.518530" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.518160" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.519301" level="INFO">${item} =     {
      "group-id": 54,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 54000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.518712" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.519482" elapsed="0.000183"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:07.517484" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.520279" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.519979" elapsed="0.000535"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.519958" elapsed="0.000581"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.521033" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.520682" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.521809" level="INFO">${item} =     {
      "group-id": 55,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 55000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.521215" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.521992" elapsed="0.000181"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:07.519925" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.522645" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.522408" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.522393" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.523528" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.523158" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.524319" level="INFO">${item} =     {
      "group-id": 56,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 56000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.523709" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.524502" elapsed="0.000182"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:07.522363" elapsed="0.002358"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.525265" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.525006" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.524885" elapsed="0.000634"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.526022" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.525663" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.526798" level="INFO">${item} =     {
      "group-id": 57,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 57000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.526204" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.526982" elapsed="0.000183"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:07.524855" elapsed="0.002349"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.527639" elapsed="0.000218"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.527401" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.527386" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.528438" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.528067" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.529191" level="INFO">${item} =     {
      "group-id": 58,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 58000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.528619" elapsed="0.000600"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.529392" elapsed="0.000183"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:07.527356" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.530028" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.529791" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.529776" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.530792" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.530440" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.531566" level="INFO">${item} =     {
      "group-id": 59,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 59000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.530972" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.531787" elapsed="0.000209"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:07.529747" elapsed="0.002287"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.532472" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.532212" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.532197" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.533214" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.532863" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.533992" level="INFO">${item} =     {
      "group-id": 60,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 60000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.533415" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.534175" elapsed="0.000207"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:07.532167" elapsed="0.002252"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.534836" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.534598" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.534584" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.535598" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.535227" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.536435" level="INFO">${item} =     {
      "group-id": 61,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 61000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.535780" elapsed="0.000683"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.536617" elapsed="0.000182"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:07.534554" elapsed="0.002282"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.537267" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.537015" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.537000" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.538012" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.537662" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.538785" level="INFO">${item} =     {
      "group-id": 62,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 62000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.538192" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.538966" elapsed="0.000182"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:07.536970" elapsed="0.002215"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.539619" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.539383" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.539368" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.540404" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.540033" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.541170" level="INFO">${item} =     {
      "group-id": 63,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 63000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.540586" elapsed="0.000613"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.541371" elapsed="0.000184"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:07.539338" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.542123" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.541880" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.541758" elapsed="0.000633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.542887" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.542535" elapsed="0.000412"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.543707" level="INFO">${item} =     {
      "group-id": 64,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 64000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.543107" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.543890" elapsed="0.000214"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:07.541728" elapsed="0.002414"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.544576" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.544337" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.544323" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.545337" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.544965" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.546091" level="INFO">${item} =     {
      "group-id": 65,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 65000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.545518" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.546292" elapsed="0.000184"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:07.544292" elapsed="0.002222"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.546929" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.546691" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.546676" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.547685" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.547335" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.548479" level="INFO">${item} =     {
      "group-id": 66,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 66000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.547864" elapsed="0.000644"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.548662" elapsed="0.000182"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:07.546647" elapsed="0.002234"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.549313" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.549059" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.549044" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.550073" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.549721" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.550850" level="INFO">${item} =     {
      "group-id": 67,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 67000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.550273" elapsed="0.000606"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.551049" elapsed="0.000183"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:07.549014" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.551715" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.551476" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.551460" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.552519" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.552146" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.553314" level="INFO">${item} =     {
      "group-id": 68,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 68000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.552702" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.553497" elapsed="0.000182"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:07.551429" elapsed="0.002287"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.554185" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.553897" elapsed="0.000543"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.553879" elapsed="0.000587"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.554975" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.554612" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.555755" level="INFO">${item} =     {
      "group-id": 69,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 69000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.555159" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.555939" elapsed="0.000207"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:07.553849" elapsed="0.002335"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.556617" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.556379" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.556364" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.557388" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.557016" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.558151" level="INFO">${item} =     {
      "group-id": 70,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 70000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.557572" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.558355" elapsed="0.000185"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:07.556333" elapsed="0.002245"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.559106" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.558863" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.558743" elapsed="0.000633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.559872" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.559520" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.560685" level="INFO">${item} =     {
      "group-id": 71,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 71000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.560091" elapsed="0.000623"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.560871" elapsed="0.000183"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:07.558713" elapsed="0.002379"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.561528" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.561290" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.561274" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.562290" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.561921" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.563047" level="INFO">${item} =     {
      "group-id": 72,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 72000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.562473" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.563229" elapsed="0.000201"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:07.561226" elapsed="0.002242"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.563883" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.563645" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.563630" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.564672" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.564320" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.565444" level="INFO">${item} =     {
      "group-id": 73,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 73000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.564853" elapsed="0.000620"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.565660" elapsed="0.000183"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:07.563601" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.566314" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.566059" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.566044" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.567063" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.566706" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.567845" level="INFO">${item} =     {
      "group-id": 74,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 74000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.567266" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.568030" elapsed="0.000229"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:07.566014" elapsed="0.002284"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.568715" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.568478" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.568463" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.569477" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.569107" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.570258" level="INFO">${item} =     {
      "group-id": 75,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 75000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.569658" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.570444" elapsed="0.000183"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:07.568433" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.571116" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.570877" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.570860" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.571877" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.571527" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.572676" level="INFO">${item} =     {
      "group-id": 76,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 76000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.572057" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.572860" elapsed="0.000187"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:07.570829" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.573522" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.573282" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.573265" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.574287" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.573915" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.575049" level="INFO">${item} =     {
      "group-id": 77,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 77000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.574471" elapsed="0.000608"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.575233" elapsed="0.000200"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:07.573218" elapsed="0.002252"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.576000" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.575757" elapsed="0.000515"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.575634" elapsed="0.000665"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.576802" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.576446" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.577613" level="INFO">${item} =     {
      "group-id": 78,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 78000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.577017" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.577798" elapsed="0.000182"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:07.575604" elapsed="0.002414"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.578454" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.578197" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.578182" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.579202" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.578845" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.579980" level="INFO">${item} =     {
      "group-id": 79,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 79000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.579404" elapsed="0.000605"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.580163" elapsed="0.000224"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:07.578152" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.580841" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.580603" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.580588" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.581601" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.581230" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.582379" level="INFO">${item} =     {
      "group-id": 80,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 80000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.581782" elapsed="0.000625"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.582563" elapsed="0.000183"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:07.580559" elapsed="0.002224"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.583200" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.582963" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.582948" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.583962" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.583611" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.584769" level="INFO">${item} =     {
      "group-id": 81,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 81000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.584144" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.584951" elapsed="0.000183"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:07.582918" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.585608" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.585371" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.585356" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.586365" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.585997" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.587116" level="INFO">${item} =     {
      "group-id": 82,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 82000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.586546" elapsed="0.000599"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.587313" elapsed="0.000184"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:07.585324" elapsed="0.002211"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.587953" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.587716" elapsed="0.000490"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.587700" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.588768" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.588415" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.589541" level="INFO">${item} =     {
      "group-id": 83,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 83000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.588949" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.589726" elapsed="0.000182"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:07.587669" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.590379" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.590125" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.590110" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.591122" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.590770" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.591891" level="INFO">${item} =     {
      "group-id": 84,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 84000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.591318" elapsed="0.000602"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.592074" elapsed="0.000201"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:07.590080" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.592878" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.592634" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.592511" elapsed="0.000619"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.593650" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.593291" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.594430" level="INFO">${item} =     {
      "group-id": 85,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 85000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.593833" elapsed="0.000626"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.594615" elapsed="0.000185"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:07.592481" elapsed="0.002356"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.595270" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.595017" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.595002" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.596014" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.595663" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.596799" level="INFO">${item} =     {
      "group-id": 86,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 86000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.596194" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.596984" elapsed="0.000183"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:07.594971" elapsed="0.002233"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.597640" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.597403" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.597388" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.598396" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.598029" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.599164" level="INFO">${item} =     {
      "group-id": 87,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 87000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.598576" elapsed="0.000617"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.599366" elapsed="0.000184"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:07.597357" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.600054" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.599803" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.599787" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.600861" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.600497" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.601635" level="INFO">${item} =     {
      "group-id": 88,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 88000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.601042" elapsed="0.000622"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.601819" elapsed="0.000183"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:07.599757" elapsed="0.002282"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.602475" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.602219" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.602204" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.603216" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.602865" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.603994" level="INFO">${item} =     {
      "group-id": 89,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 89000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.603416" elapsed="0.000607"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.604177" elapsed="0.000202"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:07.602173" elapsed="0.002263"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.604853" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.604616" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.604601" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.605612" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.605259" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.606382" level="INFO">${item} =     {
      "group-id": 90,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 90000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.605793" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.606565" elapsed="0.000181"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:07.604571" elapsed="0.002213"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.607202" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.606964" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.606948" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.607969" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.607620" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.608780" level="INFO">${item} =     {
      "group-id": 91,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 91000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.608151" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.608965" elapsed="0.000183"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:07.606917" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.609737" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.609492" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.609368" elapsed="0.000619"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.610502" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.610131" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.611281" level="INFO">${item} =     {
      "group-id": 92,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 92000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.610685" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.611505" elapsed="0.000185"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:07.609338" elapsed="0.002391"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.612146" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.611907" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.611892" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.612944" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.612591" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.613717" level="INFO">${item} =     {
      "group-id": 93,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 93000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.613125" elapsed="0.000621"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.613901" elapsed="0.000184"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:07.611862" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.614556" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.614319" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.614304" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.615318" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.614948" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.616073" level="INFO">${item} =     {
      "group-id": 94,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 94000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.615499" elapsed="0.000603"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.616273" elapsed="0.000186"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:07.614272" elapsed="0.002253"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.616944" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.616707" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.616692" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.617702" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.617350" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.618473" level="INFO">${item} =     {
      "group-id": 95,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 95000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.617883" elapsed="0.000618"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.618656" elapsed="0.000183"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:07.616662" elapsed="0.002215"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.619308" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.619055" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.619040" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.620047" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.619699" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.620888" level="INFO">${item} =     {
      "group-id": 96,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 96000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.620256" elapsed="0.000661"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.621082" elapsed="0.000210"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:07.619010" elapsed="0.002321"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.621768" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.621519" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.621504" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.622551" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.622168" elapsed="0.000440"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.623556" level="INFO">${item} =     {
      "group-id": 97,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 97000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.622768" elapsed="0.000817"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.623741" elapsed="0.000184"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:07.621474" elapsed="0.002489"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.624421" elapsed="0.000224"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.624154" elapsed="0.000530"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.624139" elapsed="0.000570"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.625230" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.624854" elapsed="0.000419"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.626040" level="INFO">${item} =     {
      "group-id": 98,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 98000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.625443" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.626239" elapsed="0.000207"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:07.624109" elapsed="0.002375"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.627024" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.626778" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.626648" elapsed="0.000664"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.627833" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.627457" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.628666" level="INFO">${item} =     {
      "group-id": 99,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 99000,
            "action": [
              {
                "or...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.628026" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.628865" elapsed="0.000197"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:07.626618" elapsed="0.002482"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.629557" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.629307" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.629292" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.630363" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.629971" elapsed="0.000419"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.631152" level="INFO">${item} =     {
      "group-id": 100,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 100000,
            "action": [
              {
                "...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.630556" elapsed="0.000624"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.631374" elapsed="0.000183"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:07.629260" elapsed="0.002335"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:07.382649" elapsed="0.248989"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.633006" level="INFO">${final_text} = {
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
  ...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:07.631794" elapsed="0.001240"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.633106" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:38:07.633308" level="INFO">${data} = {
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
  ...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:07.326203" elapsed="0.307133"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.634820" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.634532" elapsed="0.000365">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-group-2/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.634991" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.634143" elapsed="0.000873"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.635370" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.635096" elapsed="0.000333"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.635992" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.635689" elapsed="0.000329"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.635454" elapsed="0.000599"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.635077" elapsed="0.001008"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.638571" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.636254" elapsed="0.002344"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:07.638659" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:07.638815" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-group-2/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:07.633764" elapsed="0.005086"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.640499" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A3</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.640207" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.640993" level="INFO">{
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 1000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-1",
      "group-type": "group-ff"
    },
    {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 2000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-2",
      "group-type": "group-ff"
    },
    {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 3000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-3",
      "group-type": "group-ff"
    },
    {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 4000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-4",
      "group-type": "group-ff"
    },
    {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 5000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-5",
      "group-type": "group-ff"
    },
    {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 6000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-6",
      "group-type": "group-ff"
    },
    {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 7000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-7",
      "group-type": "group-ff"
    },
    {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 8000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-8",
      "group-type": "group-ff"
    },
    {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 9000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-9",
      "group-type": "group-ff"
    },
    {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 10000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-10",
      "group-type": "group-ff"
    },
    {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 11000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-11",
      "group-type": "group-ff"
    },
    {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 12000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-12",
      "group-type": "group-ff"
    },
    {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 13000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-13",
      "group-type": "group-ff"
    },
    {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 14000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-14",
      "group-type": "group-ff"
    },
    {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 15000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-15",
      "group-type": "group-ff"
    },
    {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 16000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-16",
      "group-type": "group-ff"
    },
    {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 17000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-17",
      "group-type": "group-ff"
    },
    {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 18000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-18",
      "group-type": "group-ff"
    },
    {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 19000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-19",
      "group-type": "group-ff"
    },
    {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 20000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-20",
      "group-type": "group-ff"
    },
    {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 21000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-21",
      "group-type": "group-ff"
    },
    {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 22000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-22",
      "group-type": "group-ff"
    },
    {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 23000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-23",
      "group-type": "group-ff"
    },
    {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 24000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-24",
      "group-type": "group-ff"
    },
    {
      "group-id": 25,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 25000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 25000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-25",
      "group-type": "group-ff"
    },
    {
      "group-id": 26,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 26000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 26000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-26",
      "group-type": "group-ff"
    },
    {
      "group-id": 27,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 27000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 27000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-27",
      "group-type": "group-ff"
    },
    {
      "group-id": 28,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 28000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 28000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-28",
      "group-type": "group-ff"
    },
    {
      "group-id": 29,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 29000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 29000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-29",
      "group-type": "group-ff"
    },
    {
      "group-id": 30,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 30000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 30000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-30",
      "group-type": "group-ff"
    },
    {
      "group-id": 31,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 31000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 31000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-31",
      "group-type": "group-ff"
    },
    {
      "group-id": 32,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 32000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 32000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-32",
      "group-type": "group-ff"
    },
    {
      "group-id": 33,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 33000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 33000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-33",
      "group-type": "group-ff"
    },
    {
      "group-id": 34,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 34000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 34000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-34",
      "group-type": "group-ff"
    },
    {
      "group-id": 35,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 35000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 35000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-35",
      "group-type": "group-ff"
    },
    {
      "group-id": 36,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 36000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 36000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-36",
      "group-type": "group-ff"
    },
    {
      "group-id": 37,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 37000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 37000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-37",
      "group-type": "group-ff"
    },
    {
      "group-id": 38,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 38000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 38000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-38",
      "group-type": "group-ff"
    },
    {
      "group-id": 39,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 39000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 39000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-39",
      "group-type": "group-ff"
    },
    {
      "group-id": 40,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 40000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 40000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-40",
      "group-type": "group-ff"
    },
    {
      "group-id": 41,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 41000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 41000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-41",
      "group-type": "group-ff"
    },
    {
      "group-id": 42,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 42000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 42000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-42",
      "group-type": "group-ff"
    },
    {
      "group-id": 43,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 43000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 43000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-43",
      "group-type": "group-ff"
    },
    {
      "group-id": 44,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 44000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 44000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-44",
      "group-type": "group-ff"
    },
    {
      "group-id": 45,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 45000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 45000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-45",
      "group-type": "group-ff"
    },
    {
      "group-id": 46,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 46000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 46000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-46",
      "group-type": "group-ff"
    },
    {
      "group-id": 47,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 47000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 47000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-47",
      "group-type": "group-ff"
    },
    {
      "group-id": 48,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 48000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 48000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-48",
      "group-type": "group-ff"
    },
    {
      "group-id": 49,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 49000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 49000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-49",
      "group-type": "group-ff"
    },
    {
      "group-id": 50,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 50000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 50000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-50",
      "group-type": "group-ff"
    },
    {
      "group-id": 51,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 51000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 51000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-51",
      "group-type": "group-ff"
    },
    {
      "group-id": 52,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 52000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 52000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-52",
      "group-type": "group-ff"
    },
    {
      "group-id": 53,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 53000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 53000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-53",
      "group-type": "group-ff"
    },
    {
      "group-id": 54,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 54000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 54000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-54",
      "group-type": "group-ff"
    },
    {
      "group-id": 55,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 55000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 55000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-55",
      "group-type": "group-ff"
    },
    {
      "group-id": 56,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 56000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 56000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-56",
      "group-type": "group-ff"
    },
    {
      "group-id": 57,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 57000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 57000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-57",
      "group-type": "group-ff"
    },
    {
      "group-id": 58,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 58000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 58000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-58",
      "group-type": "group-ff"
    },
    {
      "group-id": 59,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 59000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 59000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-59",
      "group-type": "group-ff"
    },
    {
      "group-id": 60,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 60000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 60000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-60",
      "group-type": "group-ff"
    },
    {
      "group-id": 61,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 61000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 61000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-61",
      "group-type": "group-ff"
    },
    {
      "group-id": 62,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 62000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 62000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-62",
      "group-type": "group-ff"
    },
    {
      "group-id": 63,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 63000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 63000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-63",
      "group-type": "group-ff"
    },
    {
      "group-id": 64,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 64000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 64000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-64",
      "group-type": "group-ff"
    },
    {
      "group-id": 65,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 65000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 65000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-65",
      "group-type": "group-ff"
    },
    {
      "group-id": 66,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 66000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 66000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-66",
      "group-type": "group-ff"
    },
    {
      "group-id": 67,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 67000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 67000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-67",
      "group-type": "group-ff"
    },
    {
      "group-id": 68,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 68000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 68000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-68",
      "group-type": "group-ff"
    },
    {
      "group-id": 69,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 69000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 69000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-69",
      "group-type": "group-ff"
    },
    {
      "group-id": 70,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 70000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 70000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-70",
      "group-type": "group-ff"
    },
    {
      "group-id": 71,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 71000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 71000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-71",
      "group-type": "group-ff"
    },
    {
      "group-id": 72,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 72000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 72000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-72",
      "group-type": "group-ff"
    },
    {
      "group-id": 73,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 73000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 73000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-73",
      "group-type": "group-ff"
    },
    {
      "group-id": 74,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 74000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 74000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-74",
      "group-type": "group-ff"
    },
    {
      "group-id": 75,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 75000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 75000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-75",
      "group-type": "group-ff"
    },
    {
      "group-id": 76,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 76000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 76000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-76",
      "group-type": "group-ff"
    },
    {
      "group-id": 77,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 77000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 77000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-77",
      "group-type": "group-ff"
    },
    {
      "group-id": 78,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 78000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 78000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-78",
      "group-type": "group-ff"
    },
    {
      "group-id": 79,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 79000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 79000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-79",
      "group-type": "group-ff"
    },
    {
      "group-id": 80,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 80000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 80000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-80",
      "group-type": "group-ff"
    },
    {
      "group-id": 81,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 81000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 81000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-81",
      "group-type": "group-ff"
    },
    {
      "group-id": 82,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 82000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 82000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-82",
      "group-type": "group-ff"
    },
    {
      "group-id": 83,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 83000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 83000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-83",
      "group-type": "group-ff"
    },
    {
      "group-id": 84,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 84000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 84000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-84",
      "group-type": "group-ff"
    },
    {
      "group-id": 85,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 85000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 85000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-85",
      "group-type": "group-ff"
    },
    {
      "group-id": 86,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 86000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 86000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-86",
      "group-type": "group-ff"
    },
    {
      "group-id": 87,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 87000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 87000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-87",
      "group-type": "group-ff"
    },
    {
      "group-id": 88,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 88000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 88000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-88",
      "group-type": "group-ff"
    },
    {
      "group-id": 89,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 89000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 89000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-89",
      "group-type": "group-ff"
    },
    {
      "group-id": 90,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 90000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 90000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-90",
      "group-type": "group-ff"
    },
    {
      "group-id": 91,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 91000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 91000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-91",
      "group-type": "group-ff"
    },
    {
      "group-id": 92,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 92000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 92000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-92",
      "group-type": "group-ff"
    },
    {
      "group-id": 93,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 93000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 93000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-93",
      "group-type": "group-ff"
    },
    {
      "group-id": 94,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 94000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 94000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-94",
      "group-type": "group-ff"
    },
    {
      "group-id": 95,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 95000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 95000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-95",
      "group-type": "group-ff"
    },
    {
      "group-id": 96,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 96000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 96000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-96",
      "group-type": "group-ff"
    },
    {
      "group-id": 97,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 97000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 97000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-97",
      "group-type": "group-ff"
    },
    {
      "group-id": 98,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 98000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 98000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-98",
      "group-type": "group-ff"
    },
    {
      "group-id": 99,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 99000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 99000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-99",
      "group-type": "group-ff"
    },
    {
      "group-id": 100,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 100000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 100000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-100",
      "group-type": "group-ff"
    }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.640741" elapsed="0.001323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.642520" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.642233" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.642976" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.642726" elapsed="0.000304"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:07.643896" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:07.643685" elapsed="0.000238"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:07.644292" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:07.644087" elapsed="0.000232"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.644482" elapsed="0.000249"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.645155" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.644898" elapsed="0.000300"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:07.645255" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:07.645425" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:07.643254" elapsed="0.002196"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:07.671563" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '42507', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow-node-inventory:group": [
    {
      "group-id": 1,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 1000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 1000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-1",
      "group-type": "group-ff"
    },
    {
      "group-id": 2,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 2000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 2000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-2",
      "group-type": "group-ff"
    },
    {
      "group-id": 3,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 3000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 3000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-3",
      "group-type": "group-ff"
    },
    {
      "group-id": 4,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 4000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 4000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-4",
      "group-type": "group-ff"
    },
    {
      "group-id": 5,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 5000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 5000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-5",
      "group-type": "group-ff"
    },
    {
      "group-id": 6,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 6000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 6000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-6",
      "group-type": "group-ff"
    },
    {
      "group-id": 7,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 7000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 7000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-7",
      "group-type": "group-ff"
    },
    {
      "group-id": 8,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 8000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 8000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-8",
      "group-type": "group-ff"
    },
    {
      "group-id": 9,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 9000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 9000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-9",
      "group-type": "group-ff"
    },
    {
      "group-id": 10,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 10000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 10000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-10",
      "group-type": "group-ff"
    },
    {
      "group-id": 11,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 11000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 11000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-11",
      "group-type": "group-ff"
    },
    {
      "group-id": 12,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 12000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 12000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-12",
      "group-type": "group-ff"
    },
    {
      "group-id": 13,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 13000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 13000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-13",
      "group-type": "group-ff"
    },
    {
      "group-id": 14,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 14000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 14000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-14",
      "group-type": "group-ff"
    },
    {
      "group-id": 15,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 15000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 15000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-15",
      "group-type": "group-ff"
    },
    {
      "group-id": 16,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 16000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 16000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-16",
      "group-type": "group-ff"
    },
    {
      "group-id": 17,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 17000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 17000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-17",
      "group-type": "group-ff"
    },
    {
      "group-id": 18,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 18000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 18000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-18",
      "group-type": "group-ff"
    },
    {
      "group-id": 19,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 19000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 19000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-19",
      "group-type": "group-ff"
    },
    {
      "group-id": 20,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 20000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 20000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-20",
      "group-type": "group-ff"
    },
    {
      "group-id": 21,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 21000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 21000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-21",
      "group-type": "group-ff"
    },
    {
      "group-id": 22,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 22000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 22000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-22",
      "group-type": "group-ff"
    },
    {
      "group-id": 23,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 23000,
            "action": [
              {
                "order": 1,
                "group-action": {
                  "group-id": 23000
                }
              }
            ]
          }
        ]
      },
      "group-name": "FF-23",
      "group-type": "group-ff"
    },
    {
      "group-id": 24,
      "buckets": {
        "bucket": [
          {
            "bucket-id": 1,
            "watch_group": 24000,
            "action": [
              {
                "order": 1,
                "... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:07.671723" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=88', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:07.671838" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:07.648304" elapsed="0.023561"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.646117" elapsed="0.025794"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.672109" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.671939" elapsed="0.000238"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.645502" elapsed="0.026698"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.675646" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.673367" elapsed="0.002321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.673127" elapsed="0.002597"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.673108" elapsed="0.002642"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.716353" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.676026" elapsed="0.041296"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.675807" elapsed="0.041582"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.675790" elapsed="0.042074"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.720040" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.719047" elapsed="0.001024"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.720899" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.720156" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.721548" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.721173" elapsed="0.000404"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.720990" elapsed="0.000623"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.720132" elapsed="0.001503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.722629" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.722255" elapsed="0.000401"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.722978" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.722728" elapsed="0.000307"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.723551" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.723239" elapsed="0.000338"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.723062" elapsed="0.000550"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.722708" elapsed="0.000926"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:07.724238" elapsed="0.000380"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:07.725560" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.725209" elapsed="0.000378"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.725746" elapsed="0.003660"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:07.672610" elapsed="0.056873"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:07.729691" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:07.729572" elapsed="0.000168"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.729548" elapsed="0.000215"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:07.732205" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:07.729916" elapsed="0.002315"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:07.732297" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:07.732466" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:07.639200" elapsed="0.093291"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.732645" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:07.732804" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:07.212988" elapsed="0.519841"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.733213" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.732939" elapsed="0.000363"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.732919" elapsed="0.000428"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.733382" elapsed="0.000027"/>
</return>
<arg>folder=${VAR_DIR}/add-group-2</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${iter}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.210408" elapsed="0.523101"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:07.198722" elapsed="0.534834"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:06.252057" elapsed="1.481536"/>
</for>
<doc>Add 100 groups of type 2 in every switch.</doc>
<status status="PASS" start="2026-05-25T00:38:06.251663" elapsed="1.482057"/>
</test>
<test id="s1-s4-s1-t3" name="Add Flow to Group 2 In Every Switch" line="46">
<for flavor="IN RANGE">
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.737252" level="INFO">&amp;{mapping} = { NODE=openflow:1 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.736797" elapsed="0.000486"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.779134" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.778756" elapsed="0.000407"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.779939" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.779683" elapsed="0.000334">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.780111" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.779345" elapsed="0.000791"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.780705" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.780318" elapsed="0.000415"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.781032" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.781184" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE/flow-node-inventory:table=0
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.780892" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.781648" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE/flow-node-inventory:table=0
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.781384" elapsed="0.000311"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.782656" level="INFO">mapping: {'NODE': 'openflow:1'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.782399" elapsed="0.000301"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.783119" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.782859" elapsed="0.000286"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.783856" level="INFO">${value} = openflow:1</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:07.783508" elapsed="0.000374"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:07.784936" level="INFO">${encoded} = openflow%3A1</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.784484" elapsed="0.000479"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:07.785014" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:07.785171" level="INFO">${encoded_value} = openflow%3A1</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:07.784068" elapsed="0.001129"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.785369" elapsed="0.000305"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:1</var>
<status status="PASS" start="2026-05-25T00:38:07.783374" elapsed="0.002345"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:07.783191" elapsed="0.002565"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:07.785799" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:07.785958" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:07.782059" elapsed="0.003925"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.781762" elapsed="0.004254"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.786189" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.786041" elapsed="0.000221"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.781743" elapsed="0.004543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.786975" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.786429" elapsed="0.000575"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.787052" elapsed="0.000234"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.778119" elapsed="0.009267"/>
</kw>
<msg time="2026-05-25T00:38:07.787440" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:07.765907" elapsed="0.021581"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.799793" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.811829" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.823867" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.824063" elapsed="0.000021"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.824254" elapsed="0.000023"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.824622" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.824476" elapsed="0.000202"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:07.824462" elapsed="0.000272"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.824880" elapsed="0.000024"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.825055" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.825221" elapsed="0.000036"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:07.824432" elapsed="0.000860"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:07.824332" elapsed="0.000986"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.825465" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:07.825541" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:07.825658" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:07.761734" elapsed="0.063950"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:07.836354" elapsed="0.000337"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.849664" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.849287" elapsed="0.000405"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.850455" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.850222" elapsed="0.000300">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.850616" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.849854" elapsed="0.000786"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.851189" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.850805" elapsed="0.000411"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.851530" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.851664" level="INFO">${template} = {
  "flow": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.851395" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.852089" level="INFO">{
  "flow": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.851846" elapsed="0.000289"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:07.852504" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.852200" elapsed="0.000362"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.853024" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.852733" elapsed="0.000318"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.852587" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.852182" elapsed="0.000925"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.853692" level="INFO">${final_text} = {
  "flow": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.853269" elapsed="0.000450"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.853767" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:07.853922" level="INFO">${prolog} = {
  "flow": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.848652" elapsed="0.005296"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.867181" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.866803" elapsed="0.000407"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.867934" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.867727" elapsed="0.000270">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.868089" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.867393" elapsed="0.000722"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.868680" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.868296" elapsed="0.000412"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.869002" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.869131" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.868869" elapsed="0.000287"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.869571" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.869327" elapsed="0.000288"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:07.869968" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.869682" elapsed="0.000344"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.870530" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.870221" elapsed="0.000336"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.870051" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.869664" elapsed="0.000949"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.871179" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.870759" elapsed="0.000447"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.871270" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:07.871425" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.866127" elapsed="0.005323"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.884969" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.884594" elapsed="0.000404"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.885721" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:07.885515" elapsed="0.000268">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:07.885876" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:07.885158" elapsed="0.000743"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.886480" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.886065" elapsed="0.000443"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:07.886802" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:07.886962" level="INFO">${template} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:07.886669" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.887408" level="INFO">        {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.${i}/32"
          },
          "flow-name": "Flow-${i}",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": ${i}
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:07.887145" elapsed="0.000314"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:07.887815" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.887525" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.888355" level="INFO">${mapping_to_use} = {'NODE': 'openflow:1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:07.888043" elapsed="0.000339"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.887898" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.887506" elapsed="0.000932"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.889183" level="INFO">${final_text} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.888585" elapsed="0.000627"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:07.889277" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:07.889435" level="INFO">${item_template} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.884035" elapsed="0.005427"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.889866" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:07.889624" elapsed="0.000268"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.890465" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:07.890049" elapsed="0.000442"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:07.891108" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:07.890873" elapsed="0.000292"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.890859" elapsed="0.000330"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.891701" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.891348" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.892662" level="INFO">${item} =         {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.891880" elapsed="0.000812"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.892848" elapsed="0.000198"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:07.890828" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.893524" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.893281" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.893264" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.894294" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.893920" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.895114" level="INFO">${item} =         {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.894504" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.895317" elapsed="0.000186"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:07.893217" elapsed="0.002355"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.895996" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.895756" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.895741" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.896762" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.896409" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.897563" level="INFO">${item} =         {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.896944" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.897749" elapsed="0.000184"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:07.895710" elapsed="0.002260"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.898437" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.898150" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.898135" elapsed="0.000561"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.899193" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.898841" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.899999" level="INFO">${item} =         {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.899399" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.900182" elapsed="0.000204"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:07.898104" elapsed="0.002319"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.900842" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.900602" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.900587" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.901613" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.901256" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.902432" level="INFO">${item} =         {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.901796" elapsed="0.000666"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.902618" elapsed="0.000183"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:07.900556" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.903284" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.903018" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.903003" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.904032" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.903678" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.904827" level="INFO">${item} =         {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.904212" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.905010" elapsed="0.000181"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:07.902973" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.905661" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.905425" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.905409" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.906417" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.906049" elapsed="0.000421"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.907226" level="INFO">${item} =         {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.906627" elapsed="0.000676"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.907463" elapsed="0.000185"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:07.905379" elapsed="0.002307"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.908099" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.907863" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.907848" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.908858" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.908507" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.909785" level="INFO">${item} =         {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.909041" elapsed="0.000773"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.909971" elapsed="0.000185"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:07.907817" elapsed="0.002377"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.910651" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.910391" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.910376" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.911412" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.911042" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.912195" level="INFO">${item} =         {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.911595" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.912398" elapsed="0.000182"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:07.910345" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.913032" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.912794" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.912779" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.913797" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.913443" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.914632" level="INFO">${item} =         {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.913982" elapsed="0.000679"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.914816" elapsed="0.000182"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:07.912749" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.915469" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.915214" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.915199" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.916207" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.915858" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.917009" level="INFO">${item} =         {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.916404" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.917190" elapsed="0.000199"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:07.915169" elapsed="0.002258"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.917842" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.917604" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.917589" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.918617" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.918231" elapsed="0.000443"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.919484" level="INFO">${item} =         {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.918860" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.919670" elapsed="0.000183"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:07.917559" elapsed="0.002332"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.920323" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.920070" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.920055" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.921066" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.920714" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.921864" level="INFO">${item} =         {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.921262" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.922049" elapsed="0.000180"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:07.920025" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.922731" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.922463" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.922448" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.923490" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.923119" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.924287" level="INFO">${item} =         {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.923671" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.924472" elapsed="0.000180"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:07.922418" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.925106" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.924870" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.924853" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.925985" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.925514" elapsed="0.000497"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.926814" level="INFO">${item} =         {
          "id": "15",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.926167" elapsed="0.000676"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.927000" elapsed="0.000182"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:07.924823" elapsed="0.002397"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.927654" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.927416" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.927401" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.928414" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.928044" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.929194" level="INFO">${item} =         {
          "id": "16",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.928595" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.929396" elapsed="0.000183"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:07.927371" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.930072" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.929797" elapsed="0.000517"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.929782" elapsed="0.000558"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.930880" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.930486" elapsed="0.000421"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.931684" level="INFO">${item} =         {
          "id": "17",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.931063" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.931869" elapsed="0.000184"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:07.929752" elapsed="0.002339"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.932532" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.932292" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.932276" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.933291" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.932923" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.934075" level="INFO">${item} =         {
          "id": "18",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.933474" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.934275" elapsed="0.000186"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:07.932225" elapsed="0.002274"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.934952" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.934715" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.934700" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.935713" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.935360" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.936511" level="INFO">${item} =         {
          "id": "19",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.935894" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.936694" elapsed="0.000182"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:07.934666" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.937345" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.937093" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.937078" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.938083" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.937734" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.938914" level="INFO">${item} =         {
          "id": "20",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.938278" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.939101" elapsed="0.000201"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:07.937048" elapsed="0.002293"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.939755" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.939520" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.939505" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.940509" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.940141" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.941309" level="INFO">${item} =         {
          "id": "21",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.940689" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.941531" elapsed="0.000185"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:07.939475" elapsed="0.002280"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.942175" elapsed="0.000351"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.941937" elapsed="0.000629"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.941922" elapsed="0.000670"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.943113" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.942757" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.943929" level="INFO">${item} =         {
          "id": "22",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.943325" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.944115" elapsed="0.000201"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:07.941891" elapsed="0.002464"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.944785" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.944534" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.944520" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.945566" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.945195" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.946387" level="INFO">${item} =         {
          "id": "23",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.945758" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.946580" elapsed="0.000224"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:07.944489" elapsed="0.002354"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.947284" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.947032" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.947017" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.948038" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.947674" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.948862" level="INFO">${item} =         {
          "id": "24",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.948218" elapsed="0.000673"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.949045" elapsed="0.000194"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:07.946986" elapsed="0.002304"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.949708" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.949473" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.949458" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.950489" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.950115" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.951359" level="INFO">${item} =         {
          "id": "25",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.950684" elapsed="0.000704"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.951561" elapsed="0.000208"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:07.949428" elapsed="0.002378"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.952271" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.952011" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.951997" elapsed="0.000562"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.953048" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.952700" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.953884" level="INFO">${item} =         {
          "id": "26",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.953279" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.954069" elapsed="0.000198"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:07.951965" elapsed="0.002341"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.954724" elapsed="0.000227"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.954488" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.954473" elapsed="0.000542"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.955528" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.955158" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.956336" level="INFO">${item} =         {
          "id": "27",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.955713" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.956520" elapsed="0.000182"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:07.954442" elapsed="0.002297"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.957153" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.956918" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.956903" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.957912" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.957559" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.958708" level="INFO">${item} =         {
          "id": "28",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.958094" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.958937" elapsed="0.000182"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:07.956873" elapsed="0.002284"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.959706" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.959355" elapsed="0.000574"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.959341" elapsed="0.000614"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.960465" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.960097" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.961268" level="INFO">${item} =         {
          "id": "29",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.960647" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.961454" elapsed="0.000188"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:07.959309" elapsed="0.002371"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.962099" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.961859" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.961844" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.962907" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.962510" elapsed="0.000424"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.963706" level="INFO">${item} =         {
          "id": "30",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.963090" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.963890" elapsed="0.000187"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:07.961814" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.964550" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.964313" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.964298" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.965358" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.964979" elapsed="0.000407"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.966141" level="INFO">${item} =         {
          "id": "31",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.965542" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.966342" elapsed="0.000185"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:07.964266" elapsed="0.002299"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.967002" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.966744" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.966729" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.967764" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.967412" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.968563" level="INFO">${item} =         {
          "id": "32",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.967946" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.968746" elapsed="0.000183"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:07.966698" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.969397" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.969143" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.969129" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.970144" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.969790" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.970984" level="INFO">${item} =         {
          "id": "33",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.970341" elapsed="0.000672"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.971167" elapsed="0.000201"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:07.969098" elapsed="0.002307"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.971821" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.971584" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.971568" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.972575" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.972207" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.973381" level="INFO">${item} =         {
          "id": "34",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.972764" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.973564" elapsed="0.000182"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:07.971537" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.974195" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.973960" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.973944" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.974974" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.974601" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.975777" level="INFO">${item} =         {
          "id": "35",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.975155" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.975959" elapsed="0.000181"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:07.973915" elapsed="0.002294"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.976764" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.976519" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.976399" elapsed="0.000621"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.977537" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.977164" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.978339" level="INFO">${item} =         {
          "id": "36",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.977721" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.978523" elapsed="0.000182"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:07.976367" elapsed="0.002376"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.979194" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.978954" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.978937" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.979962" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.979604" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.980760" level="INFO">${item} =         {
          "id": "37",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.980143" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.980949" elapsed="0.000184"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:07.978877" elapsed="0.002294"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.981603" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.981367" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.981352" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.982361" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.981990" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.983164" level="INFO">${item} =         {
          "id": "38",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.982542" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.983369" elapsed="0.000182"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:07.981322" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.984003" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.983767" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.983753" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.984762" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.984409" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.985565" level="INFO">${item} =         {
          "id": "39",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.984946" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.985748" elapsed="0.000187"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:07.983723" elapsed="0.002249"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.986404" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.986150" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.986134" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.987182" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.986792" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.987988" level="INFO">${item} =         {
          "id": "40",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.987378" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.988206" elapsed="0.000203"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:07.986104" elapsed="0.002342"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.988863" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.988625" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.988610" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.989621" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.989269" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.990425" level="INFO">${item} =         {
          "id": "41",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.989802" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.990608" elapsed="0.000182"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:07.988580" elapsed="0.002247"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.991290" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.991031" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.991015" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.992035" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.991686" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.992828" level="INFO">${item} =         {
          "id": "42",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.992215" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.993011" elapsed="0.000180"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:07.990961" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.993784" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.993539" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.993408" elapsed="0.000624"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.994547" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.994175" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.995384" level="INFO">${item} =         {
          "id": "43",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.994728" elapsed="0.000685"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.995568" elapsed="0.000182"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:07.993378" elapsed="0.002410"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.996212" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.995974" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.995957" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.996971" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.996620" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.997778" level="INFO">${item} =         {
          "id": "44",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.997151" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.997962" elapsed="0.000181"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:07.995922" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:07.998617" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:07.998381" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:07.998366" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:07.999396" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.999006" elapsed="0.000448"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.000217" level="INFO">${item} =         {
          "id": "45",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:07.999614" elapsed="0.000682"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.000459" elapsed="0.000187"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:07.998335" elapsed="0.002348"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.001098" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.000861" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.000846" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.001856" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.001506" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.002674" level="INFO">${item} =         {
          "id": "46",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.002049" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.002858" elapsed="0.000182"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:08.000816" elapsed="0.002296"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.003545" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.003308" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.003293" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.004299" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.003932" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.005080" level="INFO">${item} =         {
          "id": "47",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.004479" elapsed="0.000630"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.005278" elapsed="0.000184"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:08.003261" elapsed="0.002239"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.005918" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.005680" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.005664" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.006671" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.006322" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.007499" level="INFO">${item} =         {
          "id": "48",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.006850" elapsed="0.000677"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.007681" elapsed="0.000181"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:08.005633" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.008334" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.008081" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.008066" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.009070" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.008723" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.009865" level="INFO">${item} =         {
          "id": "49",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.009265" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.010049" elapsed="0.000182"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:08.008036" elapsed="0.002249"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.010848" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.010573" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.010450" elapsed="0.000651"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.011657" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.011300" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.012461" level="INFO">${item} =         {
          "id": "50",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.011839" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.012645" elapsed="0.000184"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:08.010420" elapsed="0.002447"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.013300" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.013046" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.013031" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.014054" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.013694" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.014852" level="INFO">${item} =         {
          "id": "51",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.014237" elapsed="0.000644"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.015035" elapsed="0.000223"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:08.013001" elapsed="0.002295"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.015713" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.015477" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.015462" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.016469" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.016101" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.017265" level="INFO">${item} =         {
          "id": "52",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.016649" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.017449" elapsed="0.000183"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:08.015432" elapsed="0.002237"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.018083" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.017847" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.017832" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.018838" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.018488" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.019667" level="INFO">${item} =         {
          "id": "53",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.019018" elapsed="0.000677"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.019848" elapsed="0.000183"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:08.017802" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.020504" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.020263" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.020230" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.021266" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.020900" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.022046" level="INFO">${item} =         {
          "id": "54",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.021448" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.022283" elapsed="0.000185"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:08.020201" elapsed="0.002304"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.022919" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.022683" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.022668" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.023732" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.023366" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.024550" level="INFO">${item} =         {
          "id": "55",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.023925" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.024735" elapsed="0.000204"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:08.022639" elapsed="0.002347"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.025420" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.025165" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.025150" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.026156" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.025807" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.026957" level="INFO">${item} =         {
          "id": "56",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.026353" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.027139" elapsed="0.000237"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:08.025120" elapsed="0.002294"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.028488" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.028225" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.027581" elapsed="0.001159"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.029254" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.028885" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.030047" level="INFO">${item} =         {
          "id": "57",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.029439" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.030238" elapsed="0.000199"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:08.027551" elapsed="0.002924"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.030892" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.030654" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.030639" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.031690" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.031326" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.032491" level="INFO">${item} =         {
          "id": "58",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.031872" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.032675" elapsed="0.000188"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:08.030609" elapsed="0.002291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.033333" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.033079" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.033064" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.034087" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.033724" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.034956" level="INFO">${item} =         {
          "id": "59",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.034349" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.035139" elapsed="0.000230"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:08.033033" elapsed="0.002375"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.035824" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.035587" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.035572" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.036582" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.036214" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.037383" level="INFO">${item} =         {
          "id": "60",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.036763" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.037565" elapsed="0.000182"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:08.035542" elapsed="0.002243"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.038201" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.037964" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.037949" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.038960" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.038608" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.039780" level="INFO">${item} =         {
          "id": "61",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.039141" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.039969" elapsed="0.000183"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:08.037919" elapsed="0.002270"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.040623" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.040388" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.040372" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.041380" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.041012" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.042305" level="INFO">${item} =         {
          "id": "62",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.041561" elapsed="0.000773"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.042501" elapsed="0.000183"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:08.040342" elapsed="0.002380"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.043153" elapsed="0.000228"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.042903" elapsed="0.000517"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.042888" elapsed="0.000558"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.043959" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.043606" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.044808" level="INFO">${item} =         {
          "id": "63",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.044152" elapsed="0.000685"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.045002" elapsed="0.000193"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:08.042858" elapsed="0.002378"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.109589" elapsed="0.001145"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.109123" elapsed="0.002192"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.045426" elapsed="0.065924"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.111993" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.111524" elapsed="0.000499"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.112855" level="INFO">${item} =         {
          "id": "64",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.112183" elapsed="0.000701"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.113044" elapsed="0.000209"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:08.045396" elapsed="0.067899"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.113760" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.113518" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.113500" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.114536" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.114159" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.115343" level="INFO">${item} =         {
          "id": "65",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.114720" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.115529" elapsed="0.000187"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:08.113465" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.116254" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.115997" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.115981" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.117009" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.116655" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.117829" level="INFO">${item} =         {
          "id": "66",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.117203" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.118016" elapsed="0.000185"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:08.115950" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.118682" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.118440" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.118424" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.119457" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.119083" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.120286" level="INFO">${item} =         {
          "id": "67",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.119641" elapsed="0.000675"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.120472" elapsed="0.000185"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:08.118394" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.121118" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.120879" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.120863" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.121886" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.121530" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.122693" level="INFO">${item} =         {
          "id": "68",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.122071" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.122879" elapsed="0.000185"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:08.120833" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.123588" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.123348" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.123332" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.124407" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.124019" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.125322" level="INFO">${item} =         {
          "id": "69",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.124593" elapsed="0.000759"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.125510" elapsed="0.000186"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:08.123300" elapsed="0.002435"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.126156" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.125918" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.125902" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.126926" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.126570" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.127731" level="INFO">${item} =         {
          "id": "70",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.127109" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.127940" elapsed="0.000184"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:08.125872" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.128599" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.128361" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.128346" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.129366" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.128993" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.130166" level="INFO">${item} =         {
          "id": "71",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.129549" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.130378" elapsed="0.000186"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:08.128315" elapsed="0.002287"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.131021" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.130782" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.130767" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.131790" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.131435" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.132632" level="INFO">${item} =         {
          "id": "72",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.132009" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.132818" elapsed="0.000183"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:08.130737" elapsed="0.002302"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.133476" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.133219" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.133204" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.134221" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.133869" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.135022" level="INFO">${item} =         {
          "id": "73",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.134421" elapsed="0.000662"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.135259" elapsed="0.000187"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:08.133173" elapsed="0.002311"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.135904" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.135665" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.135649" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.136697" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.136341" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.137501" level="INFO">${item} =         {
          "id": "74",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.136880" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.137686" elapsed="0.000186"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:08.135619" elapsed="0.002290"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.138346" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.138090" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.138075" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.139092" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.138739" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.139907" level="INFO">${item} =         {
          "id": "75",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.139295" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.140124" elapsed="0.000206"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:08.138045" elapsed="0.002324"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.140790" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.140551" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.140536" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.141677" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.141182" elapsed="0.000523"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.142483" level="INFO">${item} =         {
          "id": "76",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.141862" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.142667" elapsed="0.000184"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:08.140505" elapsed="0.002384"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.143324" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.143069" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.143054" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.144106" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.143719" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.144909" level="INFO">${item} =         {
          "id": "77",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.144305" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.145093" elapsed="0.000201"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:08.143023" elapsed="0.002309"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.145753" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.145513" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.145498" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.146593" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.146221" elapsed="0.000430"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.147444" level="INFO">${item} =         {
          "id": "78",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.146812" elapsed="0.000661"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.147631" elapsed="0.000184"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:08.145467" elapsed="0.002385"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.148355" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.148104" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.148089" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.149104" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.148752" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.149945" level="INFO">${item} =         {
          "id": "79",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.149303" elapsed="0.000672"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.150153" elapsed="0.000202"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:08.148057" elapsed="0.002336"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.150823" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.150585" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.150570" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.151595" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.151226" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.152426" level="INFO">${item} =         {
          "id": "80",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.151775" elapsed="0.000680"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.152618" elapsed="0.000183"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:08.150539" elapsed="0.002300"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.153269" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.153017" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.153002" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.154066" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.153688" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.154893" level="INFO">${item} =         {
          "id": "81",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.154267" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.155114" elapsed="0.000220"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:08.152973" elapsed="0.002408"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.155807" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.155560" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.155545" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.156623" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.156233" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.157443" level="INFO">${item} =         {
          "id": "82",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.156804" elapsed="0.000667"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.157626" elapsed="0.000181"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:08.155514" elapsed="0.002331"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.158310" elapsed="0.000300"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.158023" elapsed="0.000627"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.158008" elapsed="0.000667"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.159172" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.158820" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.159975" level="INFO">${item} =         {
          "id": "83",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.159371" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.160216" elapsed="0.000200"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:08.157979" elapsed="0.002475"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.160871" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.160633" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.160618" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.161632" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.161277" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.162434" level="INFO">${item} =         {
          "id": "84",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.161814" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.162618" elapsed="0.000182"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:08.160588" elapsed="0.002249"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.163277" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.163020" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.163005" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.164026" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.163675" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.164865" level="INFO">${item} =         {
          "id": "85",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.164254" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.165048" elapsed="0.000183"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:08.162976" elapsed="0.002313"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.165709" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.165471" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.165456" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.166465" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.166096" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.167263" level="INFO">${item} =         {
          "id": "86",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.166646" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.167447" elapsed="0.000181"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:08.165426" elapsed="0.002240"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.168082" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.167846" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.167831" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.168856" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.168506" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.169787" level="INFO">${item} =         {
          "id": "87",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.169043" elapsed="0.000773"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.170004" elapsed="0.000186"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:08.167801" elapsed="0.002427"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.170667" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.170427" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.170412" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.171428" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.171057" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.172257" level="INFO">${item} =         {
          "id": "88",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.171612" elapsed="0.000675"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.172444" elapsed="0.000183"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:08.170382" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.173084" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.172847" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.172832" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.173843" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.173493" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.174643" level="INFO">${item} =         {
          "id": "89",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.174024" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.174827" elapsed="0.000181"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:08.172801" elapsed="0.002246"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.175595" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.175228" elapsed="0.000590"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.175212" elapsed="0.000633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.176378" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.175988" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.177163" level="INFO">${item} =         {
          "id": "90",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.176558" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.177363" elapsed="0.000185"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:08.175182" elapsed="0.002404"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.178003" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.177766" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.177751" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.178763" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.178410" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.179566" level="INFO">${item} =         {
          "id": "91",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.178949" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.179749" elapsed="0.000183"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:08.177720" elapsed="0.002249"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.180435" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.180150" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.180135" elapsed="0.000548"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.181174" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.180825" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.182013" level="INFO">${item} =         {
          "id": "92",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.181408" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.182196" elapsed="0.000201"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:08.180104" elapsed="0.002331"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.182854" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.182616" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.182601" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.183619" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.183262" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.184444" level="INFO">${item} =         {
          "id": "93",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.183800" elapsed="0.000673"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.184627" elapsed="0.000184"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:08.182570" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.185288" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.185034" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.185019" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.186036" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.185688" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.186839" level="INFO">${item} =         {
          "id": "94",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.186217" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.187020" elapsed="0.000182"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:08.184988" elapsed="0.002268"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.187674" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.187438" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.187423" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.188457" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.188060" elapsed="0.000424"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.189253" level="INFO">${item} =         {
          "id": "95",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.188637" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.189437" elapsed="0.000183"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:08.187393" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.190077" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.189840" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.189824" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.190838" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.190486" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.191644" level="INFO">${item} =         {
          "id": "96",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.191023" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.191827" elapsed="0.000181"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:08.189793" elapsed="0.002253"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.192611" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.192366" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.192209" elapsed="0.000684"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.193411" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.193038" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.194192" level="INFO">${item} =         {
          "id": "97",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.193593" elapsed="0.000628"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.194393" elapsed="0.000184"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:08.192179" elapsed="0.002436"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.195031" elapsed="0.000221"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.194795" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.194780" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.195811" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.195460" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.196654" level="INFO">${item} =         {
          "id": "98",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.195995" elapsed="0.000688"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.196838" elapsed="0.000182"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:08.194750" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.197491" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.197251" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.197221" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.198254" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.197882" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.199038" level="INFO">${item} =         {
          "id": "99",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.198438" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.199220" elapsed="0.000231"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:08.197190" elapsed="0.002299"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.199920" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.199669" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.199654" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.200698" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.200328" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.201501" level="INFO">${item} =         {
          "id": "100",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.200878" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.201684" elapsed="0.000182"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:08.199624" elapsed="0.002280"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:07.890549" elapsed="0.311387"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.203227" level="INFO">${final_text} = {
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:08.202094" elapsed="0.001177"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.203335" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:08.203516" level="INFO">${data} = {
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:07.835482" elapsed="0.368062"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.205863" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.204701" elapsed="0.001264">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.206065" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.204320" elapsed="0.001770"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.206433" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.206162" elapsed="0.000330"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.207012" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.206717" elapsed="0.000322"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.206517" elapsed="0.000558"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.206144" elapsed="0.000956"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.209627" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.207281" elapsed="0.002374"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:08.209707" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:08.209866" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:08.203947" elapsed="0.005945"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.211475" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.211203" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.211915" level="INFO">{
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.1/32"
          },
          "flow-name": "Flow-1",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 1
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.2/32"
          },
          "flow-name": "Flow-2",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 2
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.3/32"
          },
          "flow-name": "Flow-3",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 3
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.4/32"
          },
          "flow-name": "Flow-4",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 4
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.5/32"
          },
          "flow-name": "Flow-5",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 5
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.6/32"
          },
          "flow-name": "Flow-6",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 6
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.7/32"
          },
          "flow-name": "Flow-7",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 7
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.8/32"
          },
          "flow-name": "Flow-8",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 8
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.9/32"
          },
          "flow-name": "Flow-9",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 9
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.10/32"
          },
          "flow-name": "Flow-10",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 10
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.11/32"
          },
          "flow-name": "Flow-11",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 11
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.12/32"
          },
          "flow-name": "Flow-12",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 12
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.13/32"
          },
          "flow-name": "Flow-13",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 13
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.14/32"
          },
          "flow-name": "Flow-14",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 14
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "15",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.15/32"
          },
          "flow-name": "Flow-15",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 15
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "16",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.16/32"
          },
          "flow-name": "Flow-16",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 16
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "17",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.17/32"
          },
          "flow-name": "Flow-17",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 17
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "18",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.18/32"
          },
          "flow-name": "Flow-18",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 18
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "19",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.19/32"
          },
          "flow-name": "Flow-19",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 19
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "20",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.20/32"
          },
          "flow-name": "Flow-20",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 20
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "21",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.21/32"
          },
          "flow-name": "Flow-21",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 21
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "22",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.22/32"
          },
          "flow-name": "Flow-22",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 22
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "23",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.23/32"
          },
          "flow-name": "Flow-23",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 23
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "24",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.24/32"
          },
          "flow-name": "Flow-24",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 24
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "25",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.25/32"
          },
          "flow-name": "Flow-25",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 25
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "26",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.26/32"
          },
          "flow-name": "Flow-26",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 26
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "27",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.27/32"
          },
          "flow-name": "Flow-27",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 27
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "28",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.28/32"
          },
          "flow-name": "Flow-28",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 28
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "29",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.29/32"
          },
          "flow-name": "Flow-29",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 29
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "30",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.30/32"
          },
          "flow-name": "Flow-30",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 30
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "31",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.31/32"
          },
          "flow-name": "Flow-31",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 31
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "32",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.32/32"
          },
          "flow-name": "Flow-32",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 32
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "33",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.33/32"
          },
          "flow-name": "Flow-33",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 33
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "34",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.34/32"
          },
          "flow-name": "Flow-34",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 34
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "35",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.35/32"
          },
          "flow-name": "Flow-35",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 35
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "36",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.36/32"
          },
          "flow-name": "Flow-36",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 36
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "37",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.37/32"
          },
          "flow-name": "Flow-37",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 37
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "38",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.38/32"
          },
          "flow-name": "Flow-38",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 38
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "39",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.39/32"
          },
          "flow-name": "Flow-39",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 39
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "40",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.40/32"
          },
          "flow-name": "Flow-40",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 40
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "41",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.41/32"
          },
          "flow-name": "Flow-41",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 41
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "42",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.42/32"
          },
          "flow-name": "Flow-42",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 42
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "43",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.43/32"
          },
          "flow-name": "Flow-43",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 43
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "44",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.44/32"
          },
          "flow-name": "Flow-44",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 44
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "45",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.45/32"
          },
          "flow-name": "Flow-45",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 45
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "46",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.46/32"
          },
          "flow-name": "Flow-46",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 46
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "47",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.47/32"
          },
          "flow-name": "Flow-47",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 47
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "48",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.48/32"
          },
          "flow-name": "Flow-48",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 48
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "49",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.49/32"
          },
          "flow-name": "Flow-49",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 49
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "50",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.50/32"
          },
          "flow-name": "Flow-50",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 50
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "51",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.51/32"
          },
          "flow-name": "Flow-51",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 51
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "52",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.52/32"
          },
          "flow-name": "Flow-52",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 52
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "53",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.53/32"
          },
          "flow-name": "Flow-53",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 53
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "54",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.54/32"
          },
          "flow-name": "Flow-54",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 54
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "55",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.55/32"
          },
          "flow-name": "Flow-55",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 55
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "56",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.56/32"
          },
          "flow-name": "Flow-56",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 56
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "57",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.57/32"
          },
          "flow-name": "Flow-57",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 57
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "58",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.58/32"
          },
          "flow-name": "Flow-58",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 58
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "59",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.59/32"
          },
          "flow-name": "Flow-59",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 59
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "60",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.60/32"
          },
          "flow-name": "Flow-60",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 60
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "61",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.61/32"
          },
          "flow-name": "Flow-61",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 61
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "62",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.62/32"
          },
          "flow-name": "Flow-62",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 62
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "63",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.63/32"
          },
          "flow-name": "Flow-63",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 63
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "64",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.64/32"
          },
          "flow-name": "Flow-64",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 64
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "65",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.65/32"
          },
          "flow-name": "Flow-65",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 65
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "66",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.66/32"
          },
          "flow-name": "Flow-66",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 66
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "67",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.67/32"
          },
          "flow-name": "Flow-67",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 67
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "68",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.68/32"
          },
          "flow-name": "Flow-68",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 68
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "69",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.69/32"
          },
          "flow-name": "Flow-69",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 69
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "70",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.70/32"
          },
          "flow-name": "Flow-70",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 70
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "71",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.71/32"
          },
          "flow-name": "Flow-71",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 71
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "72",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.72/32"
          },
          "flow-name": "Flow-72",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 72
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "73",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.73/32"
          },
          "flow-name": "Flow-73",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 73
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "74",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.74/32"
          },
          "flow-name": "Flow-74",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 74
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "75",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.75/32"
          },
          "flow-name": "Flow-75",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 75
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "76",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.76/32"
          },
          "flow-name": "Flow-76",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 76
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "77",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.77/32"
          },
          "flow-name": "Flow-77",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 77
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "78",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.78/32"
          },
          "flow-name": "Flow-78",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 78
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "79",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.79/32"
          },
          "flow-name": "Flow-79",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 79
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "80",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.80/32"
          },
          "flow-name": "Flow-80",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 80
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "81",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.81/32"
          },
          "flow-name": "Flow-81",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 81
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "82",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.82/32"
          },
          "flow-name": "Flow-82",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 82
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "83",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.83/32"
          },
          "flow-name": "Flow-83",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 83
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "84",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.84/32"
          },
          "flow-name": "Flow-84",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 84
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "85",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.85/32"
          },
          "flow-name": "Flow-85",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 85
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "86",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.86/32"
          },
          "flow-name": "Flow-86",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 86
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "87",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.87/32"
          },
          "flow-name": "Flow-87",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 87
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "88",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.88/32"
          },
          "flow-name": "Flow-88",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 88
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "89",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.89/32"
          },
          "flow-name": "Flow-89",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 89
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "90",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.90/32"
          },
          "flow-name": "Flow-90",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 90
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "91",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.91/32"
          },
          "flow-name": "Flow-91",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 91
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "92",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.92/32"
          },
          "flow-name": "Flow-92",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 92
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "93",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.93/32"
          },
          "flow-name": "Flow-93",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 93
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "94",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.94/32"
          },
          "flow-name": "Flow-94",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 94
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "95",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.95/32"
          },
          "flow-name": "Flow-95",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 95
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "96",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.96/32"
          },
          "flow-name": "Flow-96",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 96
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "97",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.97/32"
          },
          "flow-name": "Flow-97",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 97
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "98",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.98/32"
          },
          "flow-name": "Flow-98",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 98
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "99",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.99/32"
          },
          "flow-name": "Flow-99",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 99
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "100",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.100/32"
          },
          "flow-name": "Flow-100",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 100
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.211675" elapsed="0.001399"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.213499" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.213233" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.213936" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.213696" elapsed="0.000283"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:08.214794" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:08.214601" elapsed="0.000220"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:08.215148" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:08.214973" elapsed="0.000201"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.215342" elapsed="0.000197"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.215942" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.215695" elapsed="0.000292"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:08.216029" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:08.216186" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:08.214180" elapsed="0.002031"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:08.249273" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '76286', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.1/32"
          },
          "flow-name": "Flow-1",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 1
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.2/32"
          },
          "flow-name": "Flow-2",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 2
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.3/32"
          },
          "flow-name": "Flow-3",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 3
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.4/32"
          },
          "flow-name": "Flow-4",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 4
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.5/32"
          },
          "flow-name": "Flow-5",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 5
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.6/32"
          },
          "flow-name": "Flow-6",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 6
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.7/32"
          },
          "flow-name": "Flow-7",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 7
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.8/32"
          },
          "flow-name": "Flow-8",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 8
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.9/32"
          },
          "flow-name": "Flow-9",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 9
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.10/32"
          },
          "flow-name": "Flow-10",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 10
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.11/32"
          },
          "flow-name": "Flow-11",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 11
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.12/32"
          },
          "flow-name": "Flow-12",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 12
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.13/32"
          },
          "flow-name": "Flow-13",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 13
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": ... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:08.249450" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=69', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:08.249573" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:08.218350" elapsed="0.031250"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.216300" elapsed="0.033351"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.249856" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.249682" elapsed="0.000244"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.216281" elapsed="0.033667"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.253376" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.251067" elapsed="0.002355"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.250824" elapsed="0.002633"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.250804" elapsed="0.002679"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.256111" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.253760" elapsed="0.002398"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.253539" elapsed="0.002655"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.253522" elapsed="0.002698"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.256861" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.256434" elapsed="0.000456"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.257212" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.256960" elapsed="0.000328"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.257800" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.257498" elapsed="0.000329"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.257314" elapsed="0.000549"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.256941" elapsed="0.000944"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.258445" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.258062" elapsed="0.000410"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.258790" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.258541" elapsed="0.000307"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.259361" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.259046" elapsed="0.000341"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.258873" elapsed="0.000550"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.258523" elapsed="0.000922"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:08.259600" elapsed="0.000347"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:08.260418" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.260113" elapsed="0.000331"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.260601" elapsed="0.002231"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:08.250356" elapsed="0.012540"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:08.263078" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:08.262970" elapsed="0.000157"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.262951" elapsed="0.000198"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:08.265648" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:08.263313" elapsed="0.002362"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:08.265723" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:08.265885" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:08.210256" elapsed="0.055655"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.266020" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:08.266178" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:07.750959" elapsed="0.515244"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.266566" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.266328" elapsed="0.000307"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.266310" elapsed="0.000350"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.266693" elapsed="0.000026"/>
</return>
<arg>folder=${VAR_DIR}/add-flow</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${ITER}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:07.748184" elapsed="0.518634"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:07.736641" elapsed="0.530230"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.267542" level="INFO">&amp;{mapping} = { NODE=openflow:2 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.267114" elapsed="0.000457"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.309516" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.309113" elapsed="0.000433"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.310313" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.310055" elapsed="0.000332">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.310483" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.309714" elapsed="0.000794"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.311066" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.310676" elapsed="0.000418"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.311411" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.311565" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE/flow-node-inventory:table=0
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.311272" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.311997" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE/flow-node-inventory:table=0
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.311747" elapsed="0.000297"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.313007" level="INFO">mapping: {'NODE': 'openflow:2'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.312750" elapsed="0.000302"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.313527" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.313256" elapsed="0.000297"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.314286" level="INFO">${value} = openflow:2</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:08.313911" elapsed="0.000403"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:08.315326" level="INFO">${encoded} = openflow%3A2</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.314852" elapsed="0.000501"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:08.315441" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:08.315601" level="INFO">${encoded_value} = openflow%3A2</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:08.314509" elapsed="0.001118"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.315783" elapsed="0.000279"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:2</var>
<status status="PASS" start="2026-05-25T00:38:08.313774" elapsed="0.002330"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:08.313605" elapsed="0.002534"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:08.316183" elapsed="0.000027"/>
</return>
<msg time="2026-05-25T00:38:08.316361" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:08.312425" elapsed="0.003961"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.312114" elapsed="0.004305"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.316594" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.316444" elapsed="0.000207"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.312094" elapsed="0.004579"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.317391" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.316816" elapsed="0.000604"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.317469" elapsed="0.000028"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.308470" elapsed="0.009124"/>
</kw>
<msg time="2026-05-25T00:38:08.317649" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:08.296037" elapsed="0.021660"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.329892" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.341911" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.353888" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.354085" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.354279" elapsed="0.000022"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.354650" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.354502" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:08.354487" elapsed="0.000245"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.354874" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.355081" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.355269" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:08.354458" elapsed="0.000867"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:08.354357" elapsed="0.000995"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.355525" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:08.355603" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:08.355723" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:08.291856" elapsed="0.063893"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:08.366424" elapsed="0.000337"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.379792" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.379417" elapsed="0.000404"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.380544" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.380333" elapsed="0.000275">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.380702" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.379983" elapsed="0.000744"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.381295" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.380891" elapsed="0.000433"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.381636" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.381763" level="INFO">${template} = {
  "flow": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.381485" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.382188" level="INFO">{
  "flow": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.381945" elapsed="0.000287"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:08.382605" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.382317" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.383124" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.382832" elapsed="0.000318"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.382687" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.382298" elapsed="0.000909"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.383791" level="INFO">${final_text} = {
  "flow": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.383369" elapsed="0.000449"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.383867" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:08.384019" level="INFO">${prolog} = {
  "flow": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.378784" elapsed="0.005260"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.397337" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.396935" elapsed="0.000431"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.398107" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.397901" elapsed="0.000269">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.398282" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.397531" elapsed="0.000777"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.398866" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.398476" elapsed="0.000418"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.399190" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.399338" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.399056" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.399770" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.399524" elapsed="0.000290"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:08.400177" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.399882" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.400730" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.400435" elapsed="0.000322"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.400280" elapsed="0.000513"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.399863" elapsed="0.000952"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.401409" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.400964" elapsed="0.000473"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.401485" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:08.401638" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.396308" elapsed="0.005387"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.414794" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.414416" elapsed="0.000407"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.415557" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.415351" elapsed="0.000269">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.415715" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.414985" elapsed="0.000755"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.416310" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.415904" elapsed="0.000434"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.416634" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.416792" level="INFO">${template} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.416500" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.417224" level="INFO">        {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.${i}/32"
          },
          "flow-name": "Flow-${i}",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": ${i}
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.416977" elapsed="0.000316"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:08.417651" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.417361" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.418213" level="INFO">${mapping_to_use} = {'NODE': 'openflow:2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.417916" elapsed="0.000340"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.417736" elapsed="0.000557"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.417342" elapsed="0.000974"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.419068" level="INFO">${final_text} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.418465" elapsed="0.000632"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.419146" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:08.419320" level="INFO">${item_template} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.413855" elapsed="0.005493"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.419755" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:08.419512" elapsed="0.000269"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.420327" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.419940" elapsed="0.000414"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.420973" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.420736" elapsed="0.000295"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.420721" elapsed="0.000336"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.421572" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.421200" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.422580" level="INFO">${item} =         {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.421753" elapsed="0.000856"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.422768" elapsed="0.000191"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:08.420689" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.423440" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.423177" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.423161" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.424197" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.423841" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.425007" level="INFO">${item} =         {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.424399" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.425193" elapsed="0.000202"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:08.423131" elapsed="0.002334"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.425927" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.425649" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.425633" elapsed="0.000546"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.426697" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.426341" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.427506" level="INFO">${item} =         {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.426882" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.427693" elapsed="0.000184"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:08.425602" elapsed="0.002313"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.428356" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.428100" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.428085" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.429105" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.428751" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.429936" level="INFO">${item} =         {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.429304" elapsed="0.000661"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.430122" elapsed="0.000200"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:08.428054" elapsed="0.002307"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.430781" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.430542" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.430527" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.431550" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.431175" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.432360" level="INFO">${item} =         {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.431734" elapsed="0.000660"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.432549" elapsed="0.000186"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:08.430496" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.433193" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.432954" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.432939" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.433990" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.433604" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.434800" level="INFO">${item} =         {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.434175" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.434986" elapsed="0.000183"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:08.432908" elapsed="0.002298"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.435643" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.435404" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.435389" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.436413" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.436040" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.437204" level="INFO">${item} =         {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.436598" elapsed="0.000682"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.437442" elapsed="0.000185"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:08.435358" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.438106" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.437846" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.437831" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.438875" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.438519" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.440394" level="INFO">${item} =         {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.439060" elapsed="0.001364"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.440582" elapsed="0.000188"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:08.437800" elapsed="0.003008"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.441228" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.440989" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.440973" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.442029" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.441640" elapsed="0.000416"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.442837" level="INFO">${item} =         {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.442213" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.443024" elapsed="0.000185"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:08.440943" elapsed="0.002320"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.443685" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.443446" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.443431" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.444456" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.444084" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.445261" level="INFO">${item} =         {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.444640" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.445448" elapsed="0.000184"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:08.443400" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.446114" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.445853" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.445837" elapsed="0.000544"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.446882" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.446526" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.447689" level="INFO">${item} =         {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.447066" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.447875" elapsed="0.000184"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:08.445806" elapsed="0.002292"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.448541" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.448298" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.448282" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.449309" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.448934" elapsed="0.000434"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.450171" level="INFO">${item} =         {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.449527" elapsed="0.000674"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.450374" elapsed="0.000186"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:08.448237" elapsed="0.002362"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.451042" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.450799" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.450784" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.451819" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.451462" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.452647" level="INFO">${item} =         {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.452007" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.452833" elapsed="0.000187"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:08.450753" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.453498" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.453257" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.453224" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.454285" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.453895" elapsed="0.000418"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.455082" level="INFO">${item} =         {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.454470" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.455285" elapsed="0.000193"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:08.453193" elapsed="0.002325"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.455942" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.455701" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.455686" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.456713" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.456357" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.457659" level="INFO">${item} =         {
          "id": "15",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.456897" elapsed="0.000791"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.457847" elapsed="0.000216"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:08.455655" elapsed="0.002448"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.458547" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.458305" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.458289" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.459326" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.458951" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.460128" level="INFO">${item} =         {
          "id": "16",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.459516" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.460333" elapsed="0.000186"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:08.458256" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.461017" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.460741" elapsed="0.000520"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.460725" elapsed="0.000563"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.461793" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.461436" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.462629" level="INFO">${item} =         {
          "id": "17",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.461977" elapsed="0.000681"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.462815" elapsed="0.000185"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:08.460694" elapsed="0.002344"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.463477" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.463220" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.463205" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.464231" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.463874" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.465036" level="INFO">${item} =         {
          "id": "18",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.464431" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.465221" elapsed="0.000212"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:08.463175" elapsed="0.002296"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.465890" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.465653" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.465637" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.466691" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.466334" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.467506" level="INFO">${item} =         {
          "id": "19",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.466883" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.467692" elapsed="0.000183"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:08.465607" elapsed="0.002306"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.468349" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.468094" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.468079" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.469099" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.468741" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.469906" level="INFO">${item} =         {
          "id": "20",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.469299" elapsed="0.000636"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.470091" elapsed="0.000222"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:08.468049" elapsed="0.002303"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.470771" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.470533" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.470517" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.471538" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.471163" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.472353" level="INFO">${item} =         {
          "id": "21",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.471721" elapsed="0.000661"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.472577" elapsed="0.000187"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:08.470487" elapsed="0.002315"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.473226" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.472986" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.472970" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.474121" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.473643" elapsed="0.000541"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.474974" level="INFO">${item} =         {
          "id": "22",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.474357" elapsed="0.000646"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.475161" elapsed="0.000203"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:08.472940" elapsed="0.002463"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.475824" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.475585" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.475569" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.476598" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.476218" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.477408" level="INFO">${item} =         {
          "id": "23",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.476782" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.477596" elapsed="0.000183"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:08.475539" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.478273" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.478000" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.477985" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.479033" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.478672" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.479864" level="INFO">${item} =         {
          "id": "24",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.479215" elapsed="0.000678"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.480050" elapsed="0.000188"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:08.477954" elapsed="0.002336"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.480715" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.480474" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.480458" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.481484" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.481111" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.482326" level="INFO">${item} =         {
          "id": "25",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.481668" elapsed="0.000688"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.482513" elapsed="0.000186"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:08.480427" elapsed="0.002310"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.483160" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.482918" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.482903" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.483933" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.483577" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.484789" level="INFO">${item} =         {
          "id": "26",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.484154" elapsed="0.000665"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.484977" elapsed="0.000188"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:08.482872" elapsed="0.002331"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.485657" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.485414" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.485398" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.486460" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.486055" elapsed="0.000432"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.487271" level="INFO">${item} =         {
          "id": "27",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.486646" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.487457" elapsed="0.000184"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:08.485362" elapsed="0.002318"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.488098" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.487861" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.487846" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.488859" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.488508" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.489663" level="INFO">${item} =         {
          "id": "28",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.489040" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.489848" elapsed="0.000181"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:08.487815" elapsed="0.002252"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.490540" elapsed="0.000308"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.490291" elapsed="0.000597"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.490234" elapsed="0.000680"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.491433" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.491060" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.492224" level="INFO">${item} =         {
          "id": "29",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.491616" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.492428" elapsed="0.000184"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:08.490200" elapsed="0.002450"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.493067" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.492828" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.492813" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.493837" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.493481" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.494662" level="INFO">${item} =         {
          "id": "30",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.494020" elapsed="0.000672"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.494848" elapsed="0.000183"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:08.492783" elapsed="0.002286"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.495504" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.495265" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.495237" elapsed="0.000554"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.496366" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.495939" elapsed="0.000454"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.497686" level="INFO">${item} =         {
          "id": "31",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.496556" elapsed="0.001159"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.497875" elapsed="0.000195"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:08.495203" elapsed="0.002906"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.498605" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.498361" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.498343" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.499373" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.498999" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.500165" level="INFO">${item} =         {
          "id": "32",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.499557" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.500369" elapsed="0.000192"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:08.498279" elapsed="0.002321"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.501025" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.500780" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.500765" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.501790" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.501436" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.502612" level="INFO">${item} =         {
          "id": "33",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.501971" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.502797" elapsed="0.000183"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:08.500735" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.503457" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.503197" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.503180" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.504204" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.503850" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.505016" level="INFO">${item} =         {
          "id": "34",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.504403" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.505200" elapsed="0.000202"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:08.503150" elapsed="0.002291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.505861" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.505623" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.505607" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.506664" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.506271" elapsed="0.000421"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.507477" level="INFO">${item} =         {
          "id": "35",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.506848" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.507661" elapsed="0.000184"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:08.505577" elapsed="0.002346"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.508495" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.508107" elapsed="0.000618"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.508092" elapsed="0.000659"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.509269" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.508898" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.510095" level="INFO">${item} =         {
          "id": "36",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.509456" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.510300" elapsed="0.000210"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:08.508062" elapsed="0.002487"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.510970" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.510730" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.510715" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.511736" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.511383" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.512542" level="INFO">${item} =         {
          "id": "37",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.511919" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.512727" elapsed="0.000189"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:08.510685" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.513392" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.513137" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.513122" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.514176" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.513783" elapsed="0.000419"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.515039" level="INFO">${item} =         {
          "id": "38",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.514386" elapsed="0.000682"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.515222" elapsed="0.000204"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:08.513092" elapsed="0.002372"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.515881" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.515643" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.515628" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.516640" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.516288" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.517567" level="INFO">${item} =         {
          "id": "39",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.516820" elapsed="0.000776"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.517751" elapsed="0.000183"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:08.515597" elapsed="0.002382"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.518416" elapsed="0.000214"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.518161" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.518145" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.519195" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.518839" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.520005" level="INFO">${item} =         {
          "id": "40",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.519397" elapsed="0.000673"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.520230" elapsed="0.000206"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:08.518115" elapsed="0.002359"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.520894" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.520654" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.520639" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.521661" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.521309" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.522854" level="INFO">${item} =         {
          "id": "41",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.521852" elapsed="0.001032"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.523046" elapsed="0.000187"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:08.520609" elapsed="0.002693"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.523725" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.523485" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.523470" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.524492" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.524118" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.525298" level="INFO">${item} =         {
          "id": "42",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.524676" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.525483" elapsed="0.000183"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:08.523439" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.526257" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.525998" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.525868" elapsed="0.000660"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.527060" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.526673" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.527872" level="INFO">${item} =         {
          "id": "43",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.527259" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.528057" elapsed="0.000202"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:08.525838" elapsed="0.002460"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.528718" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.528479" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.528464" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.529482" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.529110" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.530283" level="INFO">${item} =         {
          "id": "44",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.529664" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.530469" elapsed="0.000218"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:08.528434" elapsed="0.002292"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.531143" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.530905" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.530890" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.531913" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.531562" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.532768" level="INFO">${item} =         {
          "id": "45",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.532141" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.532952" elapsed="0.000183"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:08.530860" elapsed="0.002313"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.533611" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.533373" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.533358" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.534373" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.534003" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.535178" level="INFO">${item} =         {
          "id": "46",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.534574" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.535380" elapsed="0.000183"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:08.533327" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.536021" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.535781" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.535766" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.536783" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.536432" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.537588" level="INFO">${item} =         {
          "id": "47",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.536964" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.537772" elapsed="0.000184"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:08.535736" elapsed="0.002259"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.538435" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.538178" elapsed="0.000511"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.538161" elapsed="0.000554"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.539213" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.538860" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.540021" level="INFO">${item} =         {
          "id": "48",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.539412" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.540204" elapsed="0.000202"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:08.538131" elapsed="0.002313"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.540863" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.540625" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.540610" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.541624" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.541271" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.542426" level="INFO">${item} =         {
          "id": "49",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.541805" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.542632" elapsed="0.000183"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:08.540580" elapsed="0.002272"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.543442" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.543145" elapsed="0.000527"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.543022" elapsed="0.000675"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.544199" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.543842" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.545010" level="INFO">${item} =         {
          "id": "50",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.544401" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.545195" elapsed="0.000202"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:08.542992" elapsed="0.002443"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.545855" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.545616" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.545600" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.546657" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.546263" elapsed="0.000422"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.547466" level="INFO">${item} =         {
          "id": "51",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.546840" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.547649" elapsed="0.000183"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:08.545571" elapsed="0.002298"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.548303" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.548048" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.548033" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.549049" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.548696" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.549853" level="INFO">${item} =         {
          "id": "52",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.549229" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.550035" elapsed="0.000182"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:08.548003" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.550718" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.550454" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.550439" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.551480" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.551111" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.552282" level="INFO">${item} =         {
          "id": "53",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.551662" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.552465" elapsed="0.000181"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:08.550408" elapsed="0.002276"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.553105" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.552869" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.552854" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.553865" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.553514" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.554707" level="INFO">${item} =         {
          "id": "54",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.554051" elapsed="0.000689"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.554934" elapsed="0.000186"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:08.552816" elapsed="0.002342"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.555600" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.555359" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.555344" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.556364" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.555993" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.557153" level="INFO">${item} =         {
          "id": "55",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.556547" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.557356" elapsed="0.000184"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:08.555313" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.557997" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.557760" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.557744" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.558784" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.558408" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.559605" level="INFO">${item} =         {
          "id": "56",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.558980" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.559788" elapsed="0.000184"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:08.557714" elapsed="0.002296"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.560564" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.560316" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.560176" elapsed="0.000640"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.561335" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.560965" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.562119" level="INFO">${item} =         {
          "id": "57",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.561516" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.562321" elapsed="0.000185"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:08.560146" elapsed="0.002398"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.563000" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.562759" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.562741" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.563767" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.563413" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.564583" level="INFO">${item} =         {
          "id": "58",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.563953" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.564766" elapsed="0.000183"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:08.562678" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.565423" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.565166" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.565151" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.566167" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.565814" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.567074" level="INFO">${item} =         {
          "id": "59",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.566422" elapsed="0.000681"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.567277" elapsed="0.000186"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:08.565121" elapsed="0.002381"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.567920" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.567682" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.567666" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.568683" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.568329" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.569486" level="INFO">${item} =         {
          "id": "60",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.568865" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.569669" elapsed="0.000183"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:08.567637" elapsed="0.002253"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.570321" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.570068" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.570053" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.571094" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.570710" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.571895" level="INFO">${item} =         {
          "id": "61",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.571291" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.572076" elapsed="0.000199"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:08.570024" elapsed="0.002289"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.572729" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.572492" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.572477" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.573491" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.573118" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.574301" level="INFO">${item} =         {
          "id": "62",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.573671" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.574482" elapsed="0.000184"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:08.572447" elapsed="0.002258"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.575149" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.574911" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.574896" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.575911" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.575559" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.576711" level="INFO">${item} =         {
          "id": "63",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.576091" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.576894" elapsed="0.000183"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:08.574865" elapsed="0.002250"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.577668" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.577423" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.577298" elapsed="0.000662"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.578482" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.578106" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.579327" level="INFO">${item} =         {
          "id": "64",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.578667" elapsed="0.000689"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.579512" elapsed="0.000183"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:08.577266" elapsed="0.002467"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.580155" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.579912" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.579897" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.580922" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.580564" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.581725" level="INFO">${item} =         {
          "id": "65",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.581103" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.581908" elapsed="0.000182"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:08.579867" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.582562" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.582324" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.582309" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.583351" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.582974" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.584148" level="INFO">${item} =         {
          "id": "66",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.583533" elapsed="0.000644"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.584349" elapsed="0.000183"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:08.582278" elapsed="0.002291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.584985" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.584748" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.584733" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.585745" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.585395" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.586541" level="INFO">${item} =         {
          "id": "67",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.585925" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.586724" elapsed="0.000217"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:08.584703" elapsed="0.002276"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.587417" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.587160" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.587144" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.588166" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.587808" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.588971" level="INFO">${item} =         {
          "id": "68",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.588365" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.589154" elapsed="0.000202"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:08.587114" elapsed="0.002311"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.589847" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.589607" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.589592" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.590615" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.590260" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.591455" level="INFO">${item} =         {
          "id": "69",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.590798" elapsed="0.000687"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.591640" elapsed="0.000184"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:08.589562" elapsed="0.002300"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.592295" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.592041" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.592026" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.593042" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.592690" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.593853" level="INFO">${item} =         {
          "id": "70",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.593223" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.594036" elapsed="0.000184"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:08.591996" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.594810" elapsed="0.000220"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.594566" elapsed="0.000503"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.594443" elapsed="0.000653"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.595615" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.595257" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.596425" level="INFO">${item} =         {
          "id": "71",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.595800" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.596610" elapsed="0.000184"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:08.594412" elapsed="0.002420"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.597267" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.597010" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.596995" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.598016" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.597663" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.598820" level="INFO">${item} =         {
          "id": "72",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.598197" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.599025" elapsed="0.000185"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:08.596965" elapsed="0.002299"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.599686" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.599447" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.599432" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.600460" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.600086" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.601265" level="INFO">${item} =         {
          "id": "73",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.600643" elapsed="0.000683"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.601488" elapsed="0.000185"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:08.599402" elapsed="0.002309"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.602134" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.601890" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.601875" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.602892" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.602542" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.603736" level="INFO">${item} =         {
          "id": "74",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.603114" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.603919" elapsed="0.000185"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:08.601845" elapsed="0.002296"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.604579" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.604340" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.604324" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.605340" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.604970" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.606125" level="INFO">${item} =         {
          "id": "75",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.605522" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.606326" elapsed="0.000184"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:08.604293" elapsed="0.002255"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.606965" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.606727" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.606711" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.607750" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.607398" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.608561" level="INFO">${item} =         {
          "id": "76",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.607934" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.608743" elapsed="0.000182"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:08.606681" elapsed="0.002283"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.609400" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.609143" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.609128" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.610143" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.609793" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.610951" level="INFO">${item} =         {
          "id": "77",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.610341" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.611169" elapsed="0.000202"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:08.609098" elapsed="0.002314"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.611945" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.611701" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.611576" elapsed="0.000618"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.612713" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.612358" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.613557" level="INFO">${item} =         {
          "id": "78",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.612932" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.613741" elapsed="0.000183"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:08.611546" elapsed="0.002416"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.614396" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.614140" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.614125" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.615172" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.614788" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.615974" level="INFO">${item} =         {
          "id": "79",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.615370" elapsed="0.000633"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.616158" elapsed="0.000202"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:08.614095" elapsed="0.002303"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.616815" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.616576" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.616561" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.617579" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.617208" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.618382" level="INFO">${item} =         {
          "id": "80",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.617760" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.618565" elapsed="0.000183"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:08.616530" elapsed="0.002256"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.619267" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.618970" elapsed="0.000523"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.618955" elapsed="0.000564"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.620020" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.619663" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.620823" level="INFO">${item} =         {
          "id": "81",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.620201" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.621006" elapsed="0.000182"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:08.618920" elapsed="0.002306"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.621662" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.621425" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.621409" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.622563" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.622060" elapsed="0.000530"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.623529" level="INFO">${item} =         {
          "id": "82",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.622745" elapsed="0.000813"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.623715" elapsed="0.000184"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:08.621379" elapsed="0.002560"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.624418" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.624124" elapsed="0.000524"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.624107" elapsed="0.000568"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.625223" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.624821" elapsed="0.000452"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.626265" level="INFO">${item} =         {
          "id": "83",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.625461" elapsed="0.000845"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.626518" elapsed="0.000248"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:08.624077" elapsed="0.002740"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.627446" elapsed="0.000247"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.627064" elapsed="0.000680"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.627044" elapsed="0.000735"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.628477" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.627977" elapsed="0.000536"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.629404" level="INFO">${item} =         {
          "id": "84",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.628724" elapsed="0.000709"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.629591" elapsed="0.000185"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:08.627003" elapsed="0.002811"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.630376" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.630109" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.629983" elapsed="0.000647"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.631134" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.630774" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.631965" level="INFO">${item} =         {
          "id": "85",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.631354" elapsed="0.000640"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.632150" elapsed="0.000205"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:08.629953" elapsed="0.002440"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.632813" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.632575" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.632560" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.633583" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.633207" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.634399" level="INFO">${item} =         {
          "id": "86",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.633766" elapsed="0.000663"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.634585" elapsed="0.000184"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:08.632530" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.635283" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.634988" elapsed="0.000525"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.634973" elapsed="0.000567"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.636041" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.635684" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.636853" level="INFO">${item} =         {
          "id": "87",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.636224" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.637079" elapsed="0.000207"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:08.634942" elapsed="0.002383"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.637746" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.637508" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.637493" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.638513" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.638140" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.639346" level="INFO">${item} =         {
          "id": "88",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.638695" elapsed="0.000680"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.639531" elapsed="0.000185"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:08.637462" elapsed="0.002292"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.640178" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.639935" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.639920" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.640942" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.640588" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.641756" level="INFO">${item} =         {
          "id": "89",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.641126" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.641941" elapsed="0.000182"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:08.639890" elapsed="0.002271"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.642600" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.642363" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.642347" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.643402" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.642999" elapsed="0.000431"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.644194" level="INFO">${item} =         {
          "id": "90",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.643585" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.644397" elapsed="0.000186"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:08.642316" elapsed="0.002306"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.645044" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.644806" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.644789" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.645816" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.645459" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.646625" level="INFO">${item} =         {
          "id": "91",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.645999" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.646810" elapsed="0.000185"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:08.644758" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.648254" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.647993" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.647201" elapsed="0.001309"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.649012" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.648654" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.649867" level="INFO">${item} =         {
          "id": "92",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.649253" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.650058" elapsed="0.000203"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:08.647170" elapsed="0.003131"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.650723" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.650485" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.650470" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.651515" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.651116" elapsed="0.000427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.652319" level="INFO">${item} =         {
          "id": "93",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.651699" elapsed="0.000649"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.652505" elapsed="0.000185"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:08.650440" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.653147" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.652909" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.652894" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.653912" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.653560" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.654716" level="INFO">${item} =         {
          "id": "94",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.654094" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.654901" elapsed="0.000184"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:08.652864" elapsed="0.002258"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.655576" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.655337" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.655321" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.656335" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.655968" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.657118" level="INFO">${item} =         {
          "id": "95",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.656516" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.657318" elapsed="0.000183"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:08.655277" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.657954" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.657718" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.657704" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.658715" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.658362" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.659541" level="INFO">${item} =         {
          "id": "96",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.658895" elapsed="0.000676"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.659725" elapsed="0.000185"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:08.657674" elapsed="0.002273"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.660386" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.660130" elapsed="0.000513"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.660115" elapsed="0.000556"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.661173" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.660817" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.661985" level="INFO">${item} =         {
          "id": "97",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.661373" elapsed="0.000642"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.662171" elapsed="0.000202"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:08.660085" elapsed="0.002328"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.662835" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.662596" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.662581" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.663630" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.663229" elapsed="0.000428"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.664437" level="INFO">${item} =         {
          "id": "98",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.663814" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.664623" elapsed="0.000183"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:08.662551" elapsed="0.002293"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.665407" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.665145" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.665016" elapsed="0.000642"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.666157" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.665802" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.666962" level="INFO">${item} =         {
          "id": "99",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.666356" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.667147" elapsed="0.000204"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:08.664986" elapsed="0.002426"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.667834" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.667596" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.667581" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.668596" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.668226" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.669407" level="INFO">${item} =         {
          "id": "100",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.668778" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.669592" elapsed="0.000185"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:08.667551" elapsed="0.002264"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:08.420411" elapsed="0.249436"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.671148" level="INFO">${final_text} = {
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:08.670010" elapsed="0.001167"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.671256" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:38:08.671458" level="INFO">${data} = {
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:08.365543" elapsed="0.305943"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.672961" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.672647" elapsed="0.000391">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.673133" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.672296" elapsed="0.000862"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.673496" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.673229" elapsed="0.000326"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.674077" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.673783" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.673581" elapsed="0.000558"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.673211" elapsed="0.000950"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.676555" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.674333" elapsed="0.002249"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:08.676634" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:08.676791" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:08.671915" elapsed="0.004901"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.678402" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.678127" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.678839" level="INFO">{
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.1/32"
          },
          "flow-name": "Flow-1",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 1
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.2/32"
          },
          "flow-name": "Flow-2",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 2
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.3/32"
          },
          "flow-name": "Flow-3",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 3
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.4/32"
          },
          "flow-name": "Flow-4",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 4
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.5/32"
          },
          "flow-name": "Flow-5",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 5
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.6/32"
          },
          "flow-name": "Flow-6",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 6
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.7/32"
          },
          "flow-name": "Flow-7",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 7
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.8/32"
          },
          "flow-name": "Flow-8",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 8
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.9/32"
          },
          "flow-name": "Flow-9",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 9
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.10/32"
          },
          "flow-name": "Flow-10",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 10
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.11/32"
          },
          "flow-name": "Flow-11",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 11
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.12/32"
          },
          "flow-name": "Flow-12",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 12
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.13/32"
          },
          "flow-name": "Flow-13",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 13
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.14/32"
          },
          "flow-name": "Flow-14",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 14
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "15",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.15/32"
          },
          "flow-name": "Flow-15",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 15
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "16",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.16/32"
          },
          "flow-name": "Flow-16",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 16
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "17",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.17/32"
          },
          "flow-name": "Flow-17",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 17
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "18",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.18/32"
          },
          "flow-name": "Flow-18",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 18
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "19",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.19/32"
          },
          "flow-name": "Flow-19",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 19
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "20",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.20/32"
          },
          "flow-name": "Flow-20",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 20
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "21",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.21/32"
          },
          "flow-name": "Flow-21",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 21
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "22",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.22/32"
          },
          "flow-name": "Flow-22",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 22
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "23",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.23/32"
          },
          "flow-name": "Flow-23",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 23
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "24",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.24/32"
          },
          "flow-name": "Flow-24",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 24
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "25",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.25/32"
          },
          "flow-name": "Flow-25",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 25
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "26",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.26/32"
          },
          "flow-name": "Flow-26",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 26
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "27",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.27/32"
          },
          "flow-name": "Flow-27",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 27
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "28",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.28/32"
          },
          "flow-name": "Flow-28",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 28
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "29",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.29/32"
          },
          "flow-name": "Flow-29",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 29
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "30",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.30/32"
          },
          "flow-name": "Flow-30",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 30
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "31",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.31/32"
          },
          "flow-name": "Flow-31",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 31
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "32",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.32/32"
          },
          "flow-name": "Flow-32",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 32
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "33",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.33/32"
          },
          "flow-name": "Flow-33",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 33
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "34",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.34/32"
          },
          "flow-name": "Flow-34",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 34
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "35",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.35/32"
          },
          "flow-name": "Flow-35",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 35
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "36",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.36/32"
          },
          "flow-name": "Flow-36",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 36
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "37",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.37/32"
          },
          "flow-name": "Flow-37",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 37
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "38",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.38/32"
          },
          "flow-name": "Flow-38",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 38
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "39",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.39/32"
          },
          "flow-name": "Flow-39",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 39
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "40",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.40/32"
          },
          "flow-name": "Flow-40",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 40
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "41",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.41/32"
          },
          "flow-name": "Flow-41",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 41
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "42",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.42/32"
          },
          "flow-name": "Flow-42",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 42
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "43",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.43/32"
          },
          "flow-name": "Flow-43",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 43
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "44",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.44/32"
          },
          "flow-name": "Flow-44",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 44
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "45",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.45/32"
          },
          "flow-name": "Flow-45",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 45
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "46",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.46/32"
          },
          "flow-name": "Flow-46",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 46
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "47",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.47/32"
          },
          "flow-name": "Flow-47",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 47
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "48",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.48/32"
          },
          "flow-name": "Flow-48",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 48
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "49",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.49/32"
          },
          "flow-name": "Flow-49",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 49
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "50",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.50/32"
          },
          "flow-name": "Flow-50",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 50
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "51",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.51/32"
          },
          "flow-name": "Flow-51",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 51
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "52",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.52/32"
          },
          "flow-name": "Flow-52",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 52
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "53",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.53/32"
          },
          "flow-name": "Flow-53",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 53
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "54",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.54/32"
          },
          "flow-name": "Flow-54",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 54
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "55",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.55/32"
          },
          "flow-name": "Flow-55",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 55
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "56",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.56/32"
          },
          "flow-name": "Flow-56",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 56
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "57",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.57/32"
          },
          "flow-name": "Flow-57",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 57
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "58",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.58/32"
          },
          "flow-name": "Flow-58",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 58
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "59",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.59/32"
          },
          "flow-name": "Flow-59",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 59
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "60",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.60/32"
          },
          "flow-name": "Flow-60",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 60
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "61",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.61/32"
          },
          "flow-name": "Flow-61",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 61
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "62",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.62/32"
          },
          "flow-name": "Flow-62",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 62
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "63",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.63/32"
          },
          "flow-name": "Flow-63",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 63
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "64",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.64/32"
          },
          "flow-name": "Flow-64",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 64
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "65",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.65/32"
          },
          "flow-name": "Flow-65",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 65
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "66",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.66/32"
          },
          "flow-name": "Flow-66",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 66
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "67",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.67/32"
          },
          "flow-name": "Flow-67",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 67
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "68",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.68/32"
          },
          "flow-name": "Flow-68",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 68
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "69",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.69/32"
          },
          "flow-name": "Flow-69",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 69
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "70",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.70/32"
          },
          "flow-name": "Flow-70",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 70
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "71",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.71/32"
          },
          "flow-name": "Flow-71",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 71
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "72",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.72/32"
          },
          "flow-name": "Flow-72",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 72
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "73",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.73/32"
          },
          "flow-name": "Flow-73",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 73
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "74",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.74/32"
          },
          "flow-name": "Flow-74",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 74
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "75",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.75/32"
          },
          "flow-name": "Flow-75",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 75
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "76",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.76/32"
          },
          "flow-name": "Flow-76",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 76
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "77",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.77/32"
          },
          "flow-name": "Flow-77",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 77
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "78",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.78/32"
          },
          "flow-name": "Flow-78",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 78
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "79",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.79/32"
          },
          "flow-name": "Flow-79",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 79
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "80",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.80/32"
          },
          "flow-name": "Flow-80",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 80
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "81",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.81/32"
          },
          "flow-name": "Flow-81",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 81
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "82",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.82/32"
          },
          "flow-name": "Flow-82",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 82
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "83",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.83/32"
          },
          "flow-name": "Flow-83",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 83
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "84",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.84/32"
          },
          "flow-name": "Flow-84",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 84
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "85",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.85/32"
          },
          "flow-name": "Flow-85",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 85
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "86",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.86/32"
          },
          "flow-name": "Flow-86",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 86
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "87",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.87/32"
          },
          "flow-name": "Flow-87",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 87
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "88",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.88/32"
          },
          "flow-name": "Flow-88",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 88
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "89",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.89/32"
          },
          "flow-name": "Flow-89",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 89
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "90",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.90/32"
          },
          "flow-name": "Flow-90",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 90
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "91",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.91/32"
          },
          "flow-name": "Flow-91",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 91
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "92",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.92/32"
          },
          "flow-name": "Flow-92",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 92
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "93",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.93/32"
          },
          "flow-name": "Flow-93",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 93
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "94",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.94/32"
          },
          "flow-name": "Flow-94",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 94
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "95",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.95/32"
          },
          "flow-name": "Flow-95",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 95
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "96",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.96/32"
          },
          "flow-name": "Flow-96",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 96
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "97",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.97/32"
          },
          "flow-name": "Flow-97",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 97
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "98",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.98/32"
          },
          "flow-name": "Flow-98",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 98
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "99",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.99/32"
          },
          "flow-name": "Flow-99",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 99
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "100",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.100/32"
          },
          "flow-name": "Flow-100",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 100
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.678600" elapsed="0.000964"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.679970" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.679721" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.680425" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.680165" elapsed="0.000303"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:08.681292" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:08.681077" elapsed="0.000241"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:08.681646" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:08.681472" elapsed="0.000200"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.681822" elapsed="0.000190"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.682429" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.682164" elapsed="0.000309"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:08.682515" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:08.682671" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:08.680669" elapsed="0.002027"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:08.712303" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '76286', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.1/32"
          },
          "flow-name": "Flow-1",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 1
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.2/32"
          },
          "flow-name": "Flow-2",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 2
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.3/32"
          },
          "flow-name": "Flow-3",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 3
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.4/32"
          },
          "flow-name": "Flow-4",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 4
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.5/32"
          },
          "flow-name": "Flow-5",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 5
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.6/32"
          },
          "flow-name": "Flow-6",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 6
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.7/32"
          },
          "flow-name": "Flow-7",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 7
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.8/32"
          },
          "flow-name": "Flow-8",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 8
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.9/32"
          },
          "flow-name": "Flow-9",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 9
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.10/32"
          },
          "flow-name": "Flow-10",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 10
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.11/32"
          },
          "flow-name": "Flow-11",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 11
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.12/32"
          },
          "flow-name": "Flow-12",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 12
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.13/32"
          },
          "flow-name": "Flow-13",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 13
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": ... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:08.712512" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0/flow=69', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:08.712662" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:08.685019" elapsed="0.027671"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.682931" elapsed="0.029819"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.712991" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.712785" elapsed="0.000278"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.682749" elapsed="0.030337"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.716631" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.714287" elapsed="0.002390"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.714035" elapsed="0.002679"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.714016" elapsed="0.002724"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.719211" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.717023" elapsed="0.002250"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.716796" elapsed="0.002514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.716779" elapsed="0.002556"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.719964" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.719533" elapsed="0.000459"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.720334" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.720062" elapsed="0.000332"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.720901" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.720597" elapsed="0.000333"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.720419" elapsed="0.000547"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.720044" elapsed="0.000943"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.721546" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.721162" elapsed="0.000411"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.721893" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.721644" elapsed="0.000308"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.722467" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.722150" elapsed="0.000344"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.721977" elapsed="0.000553"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.721625" elapsed="0.000927"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:08.722710" elapsed="0.000351"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:08.723652" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.723352" elapsed="0.000326"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.723870" elapsed="0.002198"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:08.713520" elapsed="0.012614"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:08.726336" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:08.726207" elapsed="0.000178"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.726188" elapsed="0.000220"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:08.728847" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:08.726557" elapsed="0.002317"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:08.728923" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:08.729089" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:08.677154" elapsed="0.052120"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.729389" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:08.729548" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:08.281137" elapsed="0.448436"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.729919" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.729679" elapsed="0.000309"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.729661" elapsed="0.000351"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.730046" elapsed="0.000025"/>
</return>
<arg>folder=${VAR_DIR}/add-flow</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${ITER}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.278581" elapsed="0.451590"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:08.266969" elapsed="0.463248"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.730889" level="INFO">&amp;{mapping} = { NODE=openflow:3 }</msg>
<var>&amp;{mapping}</var>
<arg>NODE=openflow:${switch}</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.730483" elapsed="0.000434"/>
</kw>
<kw name="Post_As_Json_Templated" owner="TemplatedRequests">
<kw name="Post_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.773018" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.772632" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.773832" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.773576" elapsed="0.000335">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.774006" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.773216" elapsed="0.000814"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.774600" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.774197" elapsed="0.000430"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.774930" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.775092" level="INFO">${template} = /rests/data/opendaylight-inventory:nodes/node=$NODE/flow-node-inventory:table=0
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.774789" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.775537" level="INFO">/rests/data/opendaylight-inventory:nodes/node=$NODE/flow-node-inventory:table=0
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.775291" elapsed="0.000293"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.776577" level="INFO">mapping: {'NODE': 'openflow:3'}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.776319" elapsed="0.000303"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.777053" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.776781" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.777806" level="INFO">${value} = openflow:3</msg>
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-05-25T00:38:08.777457" elapsed="0.000376"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-05-25T00:38:08.778920" level="INFO">${encoded} = openflow%3A3</msg>
<var>${encoded}</var>
<arg>${value}</arg>
<arg>:</arg>
<arg>%3A</arg>
<doc>Replaces ``pattern`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.778390" elapsed="0.000557"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-05-25T00:38:08.779045" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:08.779208" level="INFO">${encoded_value} = openflow%3A3</msg>
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="PASS" start="2026-05-25T00:38:08.778020" elapsed="0.001233"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.779413" elapsed="0.000285"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:3</var>
<status status="PASS" start="2026-05-25T00:38:08.777321" elapsed="0.002419"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-05-25T00:38:08.777131" elapsed="0.002646"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:08.779820" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:08.779980" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:08.775951" elapsed="0.004055"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.775654" elapsed="0.004384"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.780319" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.780064" elapsed="0.000316"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.775633" elapsed="0.004770"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.781099" level="INFO">${final_text} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.780552" elapsed="0.000576"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.781177" elapsed="0.000029"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.771959" elapsed="0.009363"/>
</kw>
<msg time="2026-05-25T00:38:08.781377" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:08.759704" elapsed="0.021721"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.793682" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.805757" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.817735" elapsed="0.000026"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.817930" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.818109" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.818500" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.818352" elapsed="0.000204"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:08.818337" elapsed="0.000243"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.818722" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.818935" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.819106" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:08.818306" elapsed="0.000854"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:08.818187" elapsed="0.001000"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.819354" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:08.819432" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:08.819557" level="INFO">${uri} = /rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:08.755484" elapsed="0.064099"/>
</kw>
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:08.830194" elapsed="0.000364"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.843497" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/post_data.prolog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.843099" elapsed="0.000426"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.844276" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.prolog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.844028" elapsed="0.000324">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.prolog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.844474" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.843690" elapsed="0.000810"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.845051" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/post_data.prolog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.844665" elapsed="0.000414"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.845410" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.prolog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.prolog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.845567" level="INFO">${template} = {
  "flow": [
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.845260" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.845997" level="INFO">{
  "flow": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.845750" elapsed="0.000293"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:08.846421" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.846110" elapsed="0.000369"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.846944" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.846650" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.846504" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.846091" elapsed="0.000936"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.847622" level="INFO">${final_text} = {
  "flow": [</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.847172" elapsed="0.000477"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.847698" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:08.847853" level="INFO">${prolog} = {
  "flow": [</msg>
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.842481" elapsed="0.005396"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.861163" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/post_data.epilog.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.860781" elapsed="0.000412"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.861928" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.epilog.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.861714" elapsed="0.000280">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/post_data.epilog.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.862088" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.861375" elapsed="0.000737"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.862681" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/post_data.epilog.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.862294" elapsed="0.000414"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.863004" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.epilog.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/post_data.epilog.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.863137" level="INFO">${template} =   ]
}
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.862869" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.863601" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.863353" elapsed="0.000292"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:08.864003" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.863713" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.864545" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.864237" elapsed="0.000347"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.864087" elapsed="0.000532"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.863694" elapsed="0.000948"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.865218" level="INFO">${final_text} =   ]
}</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.864789" elapsed="0.000473"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.865311" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:08.865465" level="INFO">${epilog} =   ]
}</msg>
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.860093" elapsed="0.005397"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.878859" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/data.item.json</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.878473" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.879636" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/data.item.json' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:08.879413" elapsed="0.000289">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow.titanium/data.item.json' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:08.879799" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:08.879054" elapsed="0.000769"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.880409" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/data.item.json</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.879996" elapsed="0.000441"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:08.880809" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/data.item.json"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/data.item.json&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:08.881064" level="INFO">${template} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:08.880605" elapsed="0.000495"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.881661" level="INFO">        {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.${i}/32"
          },
          "flow-name": "Flow-${i}",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": ${i}
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:08.881332" elapsed="0.000401"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="NOT RUN" start="2026-05-25T00:38:08.882178" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.881824" elapsed="0.000433"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.882740" level="INFO">${mapping_to_use} = {'NODE': 'openflow:3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:08.882436" elapsed="0.000331"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.882285" elapsed="0.000518"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.881799" elapsed="0.001026"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.883624" level="INFO">${final_text} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.882974" elapsed="0.000680"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:08.883705" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:38:08.883870" level="INFO">${item_template} =         {
          "id": "${i}",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048...</msg>
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.877893" elapsed="0.006004"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.884339" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:08.884065" elapsed="0.000302"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.884954" level="INFO">${separator} = ,
</msg>
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:08.884530" elapsed="0.000452"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:08.885666" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:08.885402" elapsed="0.000325"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.885387" elapsed="0.000366"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.886292" level="INFO">${j} = 1</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.885901" elapsed="0.000420"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.887309" level="INFO">${item} =         {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.886482" elapsed="0.000858"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.887509" elapsed="0.000246"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-05-25T00:38:08.885354" elapsed="0.002448"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.888259" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.887994" elapsed="0.000500"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.887979" elapsed="0.000541"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.889065" level="INFO">${j} = 2</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.888666" elapsed="0.000426"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.889903" level="INFO">${item} =         {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.889267" elapsed="0.000665"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.890091" elapsed="0.000210"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-05-25T00:38:08.887947" elapsed="0.002440"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.890834" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.890577" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.890561" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.891622" level="INFO">${j} = 3</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.891254" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.892476" level="INFO">${item} =         {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.891811" elapsed="0.000694"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.892665" elapsed="0.000274"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-05-25T00:38:08.890529" elapsed="0.002458"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.893547" elapsed="0.000235"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.893219" elapsed="0.000611"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.893197" elapsed="0.000665"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.894549" level="INFO">${j} = 4</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.894049" elapsed="0.000537"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.895637" level="INFO">${item} =         {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.894801" elapsed="0.000875"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.895891" elapsed="0.000241"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-05-25T00:38:08.893157" elapsed="0.003025"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.896775" elapsed="0.000261"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.896417" elapsed="0.000671"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.896400" elapsed="0.000722"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.897735" level="INFO">${j} = 5</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.897339" elapsed="0.000424"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.898594" level="INFO">${item} =         {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.897947" elapsed="0.000676"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.898782" elapsed="0.000187"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-05-25T00:38:08.896362" elapsed="0.002646"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.899452" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.899191" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.899176" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.900209" level="INFO">${j} = 6</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.899852" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.901064" level="INFO">${item} =         {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.900411" elapsed="0.000682"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.901269" elapsed="0.000187"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-05-25T00:38:08.899144" elapsed="0.002355"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.901948" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.901704" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.901688" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.902764" level="INFO">${j} = 7</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.902366" elapsed="0.000427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.903594" level="INFO">${item} =         {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.902952" elapsed="0.000710"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.903825" elapsed="0.000188"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-05-25T00:38:08.901655" elapsed="0.002396"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.904501" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.904250" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.904219" elapsed="0.000544"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.905320" level="INFO">${j} = 8</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.904938" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.906287" level="INFO">${item} =         {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.905513" elapsed="0.000804"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.906479" elapsed="0.000188"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-05-25T00:38:08.904188" elapsed="0.002517"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.907184" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.906930" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.906906" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.907982" level="INFO">${j} = 9</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.907603" elapsed="0.000416"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.908890" level="INFO">${item} =         {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
  ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.908186" elapsed="0.000735"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.909080" elapsed="0.000206"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-05-25T00:38:08.906853" elapsed="0.002472"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.909771" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.909513" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.909494" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.910555" level="INFO">${j} = 10</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.910174" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.911379" level="INFO">${item} =         {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.910739" elapsed="0.000671"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.911622" elapsed="0.000272"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-05-25T00:38:08.909461" elapsed="0.002521"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.912454" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.912183" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.912167" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.913260" level="INFO">${j} = 11</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.912875" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.914068" level="INFO">${item} =         {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.913445" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.914269" elapsed="0.000186"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-05-25T00:38:08.912133" elapsed="0.002361"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.914939" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.914674" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.914658" elapsed="0.000540"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.915734" level="INFO">${j} = 12</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.915379" elapsed="0.000441"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.916648" level="INFO">${item} =         {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.915983" elapsed="0.000703"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.916844" elapsed="0.000228"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-05-25T00:38:08.914627" elapsed="0.002483"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.917549" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.917309" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.917294" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.918320" level="INFO">${j} = 13</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.917944" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.919103" level="INFO">${item} =         {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.918501" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.919306" elapsed="0.000184"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-05-25T00:38:08.917262" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.919942" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.919705" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.919690" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.920704" level="INFO">${j} = 14</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.920352" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.921533" level="INFO">${item} =         {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.920908" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.921717" elapsed="0.000183"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-05-25T00:38:08.919660" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.922373" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.922118" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.922101" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.923268" level="INFO">${j} = 15</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.922767" elapsed="0.000530"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.924056" level="INFO">${item} =         {
          "id": "15",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.923453" elapsed="0.000632"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.924256" elapsed="0.000185"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-05-25T00:38:08.922071" elapsed="0.002408"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.924894" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.924658" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.924643" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.925688" level="INFO">${j} = 16</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.925333" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.926488" level="INFO">${item} =         {
          "id": "16",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.925868" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.926672" elapsed="0.000183"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-05-25T00:38:08.924612" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.927362" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.927070" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.927055" elapsed="0.000562"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.928117" level="INFO">${j} = 17</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.927763" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.928919" level="INFO">${item} =         {
          "id": "17",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.928315" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.929127" elapsed="0.000200"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-05-25T00:38:08.927025" elapsed="0.002341"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.929781" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.929545" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.929530" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.930541" level="INFO">${j} = 18</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.930171" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.931339" level="INFO">${item} =         {
          "id": "18",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.930721" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.931523" elapsed="0.000183"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-05-25T00:38:08.929500" elapsed="0.002243"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.932158" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.931922" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.931907" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.932921" level="INFO">${j} = 19</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.932570" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.933759" level="INFO">${item} =         {
          "id": "19",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.933143" elapsed="0.000644"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.933942" elapsed="0.000186"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-05-25T00:38:08.931877" elapsed="0.002288"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.934599" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.934363" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.934349" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.935352" level="INFO">${j} = 20</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.934987" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.936130" level="INFO">${item} =         {
          "id": "20",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.935532" elapsed="0.000627"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.936329" elapsed="0.000184"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-05-25T00:38:08.934318" elapsed="0.002234"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.936967" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.936729" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.936714" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.937752" level="INFO">${j} = 21</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.937401" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.938553" level="INFO">${item} =         {
          "id": "21",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.937934" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.938775" elapsed="0.000186"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-05-25T00:38:08.936684" elapsed="0.002315"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.939437" elapsed="0.000297"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.939180" elapsed="0.000593"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.939165" elapsed="0.000634"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.940315" level="INFO">${j} = 22</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.939943" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.941309" level="INFO">${item} =         {
          "id": "22",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.940497" elapsed="0.000841"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.941495" elapsed="0.000182"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-05-25T00:38:08.939135" elapsed="0.002580"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.942130" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.941893" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.941878" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.942888" level="INFO">${j} = 23</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.942538" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.943696" level="INFO">${item} =         {
          "id": "23",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.943070" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.943880" elapsed="0.000183"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-05-25T00:38:08.941847" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.944535" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.944297" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.944282" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.945320" level="INFO">${j} = 24</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.944926" elapsed="0.000421"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.946107" level="INFO">${item} =         {
          "id": "24",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.945501" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.946308" elapsed="0.000184"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-05-25T00:38:08.944237" elapsed="0.002293"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.946946" elapsed="0.000321"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.946710" elapsed="0.000596"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.946694" elapsed="0.000637"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.947825" level="INFO">${j} = 25</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.947474" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.948628" level="INFO">${item} =         {
          "id": "25",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.948006" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.948813" elapsed="0.000187"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-05-25T00:38:08.946663" elapsed="0.002374"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.949505" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.949265" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.949235" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.950257" level="INFO">${j} = 26</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.949893" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.951083" level="INFO">${item} =         {
          "id": "26",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.950476" elapsed="0.000636"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.951289" elapsed="0.000185"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-05-25T00:38:08.949204" elapsed="0.002308"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.951933" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.951694" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.951679" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.952688" level="INFO">${j} = 27</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.952338" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.953510" level="INFO">${item} =         {
          "id": "27",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.952869" elapsed="0.000669"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.953693" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-05-25T00:38:08.951648" elapsed="0.002266"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.954345" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.954093" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.954078" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.955087" level="INFO">${j} = 28</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.954734" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.955893" level="INFO">${item} =         {
          "id": "28",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.955286" elapsed="0.000636"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.956076" elapsed="0.000200"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-05-25T00:38:08.954048" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.956848" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.956497" elapsed="0.000575"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.956482" elapsed="0.000648"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.957648" level="INFO">${j} = 29</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.957292" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.958456" level="INFO">${item} =         {
          "id": "29",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.957831" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.958641" elapsed="0.000186"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-05-25T00:38:08.956451" elapsed="0.002414"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.959304" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.959046" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.959031" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.960054" level="INFO">${j} = 30</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.959701" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.960859" level="INFO">${item} =         {
          "id": "30",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.960254" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.961043" elapsed="0.000222"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-05-25T00:38:08.959000" elapsed="0.002305"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.961725" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.961488" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.961473" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.962529" level="INFO">${j} = 31</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.962155" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.963334" level="INFO">${item} =         {
          "id": "31",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.962712" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.963519" elapsed="0.000185"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-05-25T00:38:08.961442" elapsed="0.002301"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.964162" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.963923" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.963908" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.964927" level="INFO">${j} = 32</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.964573" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.965767" level="INFO">${item} =         {
          "id": "32",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.965110" elapsed="0.000686"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.965951" elapsed="0.000182"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-05-25T00:38:08.963877" elapsed="0.002294"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.966603" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.966367" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.966352" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.967361" level="INFO">${j} = 33</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.966991" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.968160" level="INFO">${item} =         {
          "id": "33",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.967544" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.968361" elapsed="0.000184"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-05-25T00:38:08.966322" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.968995" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.968760" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.968745" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.969766" level="INFO">${j} = 34</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.969418" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.970559" level="INFO">${item} =         {
          "id": "34",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.969944" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.970739" elapsed="0.000181"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-05-25T00:38:08.968715" elapsed="0.002248"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.971395" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.971141" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.971126" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.972135" level="INFO">${j} = 35</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.971784" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.972935" level="INFO">${item} =         {
          "id": "35",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.972332" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.973114" elapsed="0.000224"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-05-25T00:38:08.971096" elapsed="0.002318"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.973958" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.973711" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.973582" elapsed="0.000627"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.974725" level="INFO">${j} = 36</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.974370" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.975529" level="INFO">${item} =         {
          "id": "36",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.974906" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.975712" elapsed="0.000183"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-05-25T00:38:08.973552" elapsed="0.002381"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.976373" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.976113" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.976098" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.977115" level="INFO">${j} = 37</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.976764" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.977963" level="INFO">${item} =         {
          "id": "37",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.977325" elapsed="0.000668"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.978146" elapsed="0.000200"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-05-25T00:38:08.976068" elapsed="0.002315"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.978798" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.978562" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.978547" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.979554" level="INFO">${j} = 38</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.979184" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.980350" level="INFO">${item} =         {
          "id": "38",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.979733" elapsed="0.000645"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.980532" elapsed="0.000181"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-05-25T00:38:08.978518" elapsed="0.002232"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.981167" elapsed="0.000235"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.980928" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.980913" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.981959" level="INFO">${j} = 39</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.981609" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.982757" level="INFO">${item} =         {
          "id": "39",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.982138" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.982938" elapsed="0.000183"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-05-25T00:38:08.980883" elapsed="0.002275"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.983600" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.983360" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.983344" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.984364" level="INFO">${j} = 40</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.983994" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.985145" level="INFO">${item} =         {
          "id": "40",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.984544" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.985402" elapsed="0.000187"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-05-25T00:38:08.983313" elapsed="0.002314"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.986044" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.985808" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.985793" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.986800" level="INFO">${j} = 41</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.986451" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.987600" level="INFO">${item} =         {
          "id": "41",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.986985" elapsed="0.000643"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.987782" elapsed="0.000182"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-05-25T00:38:08.985762" elapsed="0.002240"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.988438" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.988181" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.988166" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.989182" level="INFO">${j} = 42</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.988831" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.990020" level="INFO">${item} =         {
          "id": "42",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.989408" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.990202" elapsed="0.000200"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-05-25T00:38:08.988136" elapsed="0.002303"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.991952" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.991692" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.990604" elapsed="0.001602"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.992759" level="INFO">${j} = 43</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.992376" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.993601" level="INFO">${item} =         {
          "id": "43",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.992950" elapsed="0.000681"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.993788" elapsed="0.000186"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-05-25T00:38:08.990574" elapsed="0.003438"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.994450" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.994192" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.994177" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.995195" level="INFO">${j} = 44</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.994843" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.996005" level="INFO">${item} =         {
          "id": "44",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.995397" elapsed="0.000637"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.996190" elapsed="0.000202"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-05-25T00:38:08.994146" elapsed="0.002285"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.996848" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.996610" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.996595" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.997646" level="INFO">${j} = 45</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.997253" elapsed="0.000462"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:08.998500" level="INFO">${item} =         {
          "id": "45",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.997874" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.998685" elapsed="0.000183"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-05-25T00:38:08.996564" elapsed="0.002341"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:08.999340" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:08.999085" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:08.999071" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.000087" level="INFO">${j} = 46</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:08.999733" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.000886" level="INFO">${item} =         {
          "id": "46",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.000284" elapsed="0.000631"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.001069" elapsed="0.000199"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-05-25T00:38:08.999040" elapsed="0.002267"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.001741" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.001502" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.001487" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.002505" level="INFO">${j} = 47</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.002132" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.003309" level="INFO">${item} =         {
          "id": "47",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.002688" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.003494" elapsed="0.000185"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-05-25T00:38:09.001456" elapsed="0.002261"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.004135" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.003897" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.003882" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.004900" level="INFO">${j} = 48</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.004547" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.005780" level="INFO">${item} =         {
          "id": "48",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.005086" elapsed="0.000724"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.005976" elapsed="0.000185"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-05-25T00:38:09.003851" elapsed="0.002348"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.006643" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.006402" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.006386" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.007421" level="INFO">${j} = 49</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.007041" elapsed="0.000407"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.008217" level="INFO">${item} =         {
          "id": "49",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.007605" elapsed="0.000657"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.008423" elapsed="0.000187"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-05-25T00:38:09.006355" elapsed="0.002293"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.009303" elapsed="0.000213"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.008978" elapsed="0.000578"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.008815" elapsed="0.000767"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.010085" level="INFO">${j} = 50</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.009729" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.010896" level="INFO">${item} =         {
          "id": "50",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.010286" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.011082" elapsed="0.000204"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-05-25T00:38:09.008784" elapsed="0.002541"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.011747" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.011508" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.011492" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.012517" level="INFO">${j} = 51</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.012141" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.013321" level="INFO">${item} =         {
          "id": "51",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.012699" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.013548" elapsed="0.000185"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-05-25T00:38:09.011462" elapsed="0.002309"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.014189" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.013950" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.013935" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.014959" level="INFO">${j} = 52</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.014602" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.015764" level="INFO">${item} =         {
          "id": "52",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.015141" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.015946" elapsed="0.000183"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-05-25T00:38:09.013905" elapsed="0.002262"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.016605" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.016366" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.016351" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.017363" level="INFO">${j} = 53</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.016996" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.018174" level="INFO">${item} =         {
          "id": "53",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.017565" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.018375" elapsed="0.000184"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-05-25T00:38:09.016320" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.019013" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.018775" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.018760" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.019774" level="INFO">${j} = 54</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.019423" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.020583" level="INFO">${item} =         {
          "id": "54",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.019956" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.020808" elapsed="0.000186"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-05-25T00:38:09.018730" elapsed="0.002302"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.021498" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.021212" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.021197" elapsed="0.000555"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.022271" level="INFO">${j} = 55</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.021897" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.023063" level="INFO">${item} =         {
          "id": "55",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.022455" elapsed="0.000638"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.023269" elapsed="0.000189"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-05-25T00:38:09.021166" elapsed="0.002331"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.023933" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.023691" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.023675" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.024703" level="INFO">${j} = 56</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.024348" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.025528" level="INFO">${item} =         {
          "id": "56",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.024886" elapsed="0.000671"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.025713" elapsed="0.000182"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-05-25T00:38:09.023643" elapsed="0.002291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.026545" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.026298" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.026103" elapsed="0.000693"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.027310" level="INFO">${j} = 57</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.026940" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.028094" level="INFO">${item} =         {
          "id": "57",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.027493" elapsed="0.000629"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.028297" elapsed="0.000185"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-05-25T00:38:09.026072" elapsed="0.002447"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.028941" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.028699" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.028684" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.029744" level="INFO">${j} = 58</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.029351" elapsed="0.000419"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.030558" level="INFO">${item} =         {
          "id": "58",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.029931" elapsed="0.000655"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.030742" elapsed="0.000184"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-05-25T00:38:09.028654" elapsed="0.002314"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.031403" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.031148" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.031133" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.032145" level="INFO">${j} = 59</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.031795" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.033011" level="INFO">${item} =         {
          "id": "59",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.032401" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.033197" elapsed="0.000202"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-05-25T00:38:09.031102" elapsed="0.002335"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.033901" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.033661" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.033645" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.034675" level="INFO">${j} = 60</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.034318" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.035474" level="INFO">${item} =         {
          "id": "60",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.034856" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.035658" elapsed="0.000183"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-05-25T00:38:09.033608" elapsed="0.002270"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.036313" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.036058" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.036043" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.037057" level="INFO">${j} = 61</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.036705" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.037895" level="INFO">${item} =         {
          "id": "61",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.037252" elapsed="0.000671"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.038078" elapsed="0.000201"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-05-25T00:38:09.036013" elapsed="0.002304"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.038737" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.038500" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.038483" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.039516" level="INFO">${j} = 62</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.039127" elapsed="0.000416"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.040316" level="INFO">${item} =         {
          "id": "62",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.039698" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.040497" elapsed="0.000182"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-05-25T00:38:09.038452" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.041134" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.040897" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.040882" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.041917" level="INFO">${j} = 63</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.041543" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.042728" level="INFO">${item} =         {
          "id": "63",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.042098" elapsed="0.000658"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.042909" elapsed="0.000184"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-05-25T00:38:09.040852" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.043688" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.043441" elapsed="0.000546"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.043314" elapsed="0.000704"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.044544" level="INFO">${j} = 64</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.044167" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.045356" level="INFO">${item} =         {
          "id": "64",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.044728" elapsed="0.000657"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.045543" elapsed="0.000218"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-05-25T00:38:09.043282" elapsed="0.002518"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.046224" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.045985" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.045970" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.046994" level="INFO">${j} = 65</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.046640" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.047979" level="INFO">${item} =         {
          "id": "65",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.047367" elapsed="0.000641"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.048162" elapsed="0.000205"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-05-25T00:38:09.045938" elapsed="0.002467"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.048828" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.048588" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.048572" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.049592" level="INFO">${j} = 66</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.049222" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.050424" level="INFO">${item} =         {
          "id": "66",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.049802" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.050610" elapsed="0.000183"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-05-25T00:38:09.048541" elapsed="0.002289"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.051263" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.051010" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.050995" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.052006" level="INFO">${j} = 67</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.051656" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.052809" level="INFO">${item} =         {
          "id": "67",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.052185" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.052995" elapsed="0.000183"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-05-25T00:38:09.050965" elapsed="0.002250"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.053690" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.053414" elapsed="0.000505"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.053400" elapsed="0.000546"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.054651" level="INFO">${j} = 68</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.054291" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.055457" level="INFO">${item} =         {
          "id": "68",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.054832" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.055642" elapsed="0.000185"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-05-25T00:38:09.053369" elapsed="0.002546"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.056362" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.056104" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.056089" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.057113" level="INFO">${j} = 69</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.056759" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.057955" level="INFO">${item} =         {
          "id": "69",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.057314" elapsed="0.000670"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.058140" elapsed="0.000200"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-05-25T00:38:09.056059" elapsed="0.002319"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.058798" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.058559" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.058545" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.059567" level="INFO">${j} = 70</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.059193" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.060374" level="INFO">${item} =         {
          "id": "70",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.059751" elapsed="0.000652"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.060558" elapsed="0.000184"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-05-25T00:38:09.058515" elapsed="0.002265"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.061347" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.061083" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.060945" elapsed="0.000657"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.062134" level="INFO">${j} = 71</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.061780" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.062941" level="INFO">${item} =         {
          "id": "71",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.062334" elapsed="0.000640"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.063129" elapsed="0.000202"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-05-25T00:38:09.060915" elapsed="0.002454"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.063789" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.063550" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.063535" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.064558" level="INFO">${j} = 72</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.064184" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.065368" level="INFO">${item} =         {
          "id": "72",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.064741" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.065552" elapsed="0.000202"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-05-25T00:38:09.063504" elapsed="0.002287"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.066210" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.065973" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.065958" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.066978" level="INFO">${j} = 73</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.066622" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.067784" level="INFO">${item} =         {
          "id": "73",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.067161" elapsed="0.000688"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.068010" elapsed="0.000188"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-05-25T00:38:09.065928" elapsed="0.002327"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.068683" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.068442" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.068426" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.069454" level="INFO">${j} = 74</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.069082" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.070295" level="INFO">${item} =         {
          "id": "74",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.069636" elapsed="0.000688"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.070481" elapsed="0.000182"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-05-25T00:38:09.068395" elapsed="0.002306"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.071124" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.070881" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.070866" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.071886" level="INFO">${j} = 75</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.071535" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.072687" level="INFO">${item} =         {
          "id": "75",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.072068" elapsed="0.000647"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.072870" elapsed="0.000183"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-05-25T00:38:09.070836" elapsed="0.002254"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.073524" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.073286" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.073270" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.074316" level="INFO">${j} = 76</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.073946" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.075104" level="INFO">${item} =         {
          "id": "76",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.074498" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.075310" elapsed="0.000185"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-05-25T00:38:09.073223" elapsed="0.002310"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.075948" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.075712" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.075697" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.076708" level="INFO">${j} = 77</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.076356" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.077514" level="INFO">${item} =         {
          "id": "77",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.076890" elapsed="0.000653"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.077697" elapsed="0.000227"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-05-25T00:38:09.075667" elapsed="0.002300"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.078529" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.078281" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.078131" elapsed="0.000650"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.079295" level="INFO">${j} = 78</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.078926" elapsed="0.000433"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.080125" level="INFO">${item} =         {
          "id": "78",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.079519" elapsed="0.000634"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.080327" elapsed="0.000185"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-05-25T00:38:09.078100" elapsed="0.002450"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.080973" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.080730" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.080714" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.081736" level="INFO">${j} = 79</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.081384" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.082559" level="INFO">${item} =         {
          "id": "79",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.081938" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.082743" elapsed="0.000182"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-05-25T00:38:09.080684" elapsed="0.002278"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.083401" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.083142" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.083127" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.084146" level="INFO">${j} = 80</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.083793" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.084952" level="INFO">${item} =         {
          "id": "80",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.084344" elapsed="0.000639"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.085137" elapsed="0.000201"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-05-25T00:38:09.083097" elapsed="0.002279"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.085792" elapsed="0.000219"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.085556" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.085541" elapsed="0.000534"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.086587" level="INFO">${j} = 81</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.086218" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.087388" level="INFO">${item} =         {
          "id": "81",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.086767" elapsed="0.000650"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.087572" elapsed="0.000182"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-05-25T00:38:09.085511" elapsed="0.002280"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.088210" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.087974" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.087958" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.088969" level="INFO">${j} = 82</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.088618" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.089777" level="INFO">${item} =         {
          "id": "82",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.089150" elapsed="0.000656"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.089985" elapsed="0.000186"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-05-25T00:38:09.087925" elapsed="0.002285"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.090695" elapsed="0.000190"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.090411" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.090395" elapsed="0.000556"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.091474" level="INFO">${j} = 83</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.091099" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.092279" level="INFO">${item} =         {
          "id": "83",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.091657" elapsed="0.000651"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.092464" elapsed="0.000185"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-05-25T00:38:09.090364" elapsed="0.002322"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.093104" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.092868" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.092853" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.093870" level="INFO">${j} = 84</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.093517" elapsed="0.000426"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.094738" level="INFO">${item} =         {
          "id": "84",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.094108" elapsed="0.000659"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.094921" elapsed="0.000184"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-05-25T00:38:09.092823" elapsed="0.002320"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.095712" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.095468" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.095329" elapsed="0.000633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.096479" level="INFO">${j} = 85</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.096106" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.097285" level="INFO">${item} =         {
          "id": "85",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.096660" elapsed="0.000654"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.097469" elapsed="0.000185"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-05-25T00:38:09.095297" elapsed="0.002395"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.098141" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.097871" elapsed="0.000511"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.097856" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.098909" level="INFO">${j} = 86</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.098552" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.099730" level="INFO">${item} =         {
          "id": "86",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.099097" elapsed="0.000662"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.099916" elapsed="0.000185"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-05-25T00:38:09.097826" elapsed="0.002313"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.100579" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.100339" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.100324" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.101348" level="INFO">${j} = 87</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.100977" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.102186" level="INFO">${item} =         {
          "id": "87",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.101532" elapsed="0.000683"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.102439" elapsed="0.000188"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-05-25T00:38:09.100291" elapsed="0.002374"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.103087" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.102848" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.102833" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.103850" level="INFO">${j} = 88</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.103498" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.104667" level="INFO">${item} =         {
          "id": "88",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.104039" elapsed="0.000657"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.104851" elapsed="0.000183"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-05-25T00:38:09.102802" elapsed="0.002269"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.105513" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.105270" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.105253" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.106304" level="INFO">${j} = 89</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.105909" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.107094" level="INFO">${item} =         {
          "id": "89",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.106488" elapsed="0.000635"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.107295" elapsed="0.000185"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-05-25T00:38:09.105207" elapsed="0.002311"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.107936" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.107698" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.107683" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.108711" level="INFO">${j} = 90</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.108355" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.109513" level="INFO">${item} =         {
          "id": "90",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.108893" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.109698" elapsed="0.000186"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-05-25T00:38:09.107652" elapsed="0.002277"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.110530" elapsed="0.000191"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.110238" elapsed="0.000524"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.110215" elapsed="0.000573"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.111314" level="INFO">${j} = 91</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.110936" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.112119" level="INFO">${item} =         {
          "id": "91",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.111500" elapsed="0.000648"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.112323" elapsed="0.000189"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-05-25T00:38:09.110168" elapsed="0.002383"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.113119" elapsed="0.000239"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.112868" elapsed="0.000533"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.112721" elapsed="0.000715"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.114018" level="INFO">${j} = 92</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.113618" elapsed="0.000432"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.115130" level="INFO">${item} =         {
          "id": "92",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.114323" elapsed="0.000844"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.115391" elapsed="0.000202"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-05-25T00:38:09.112688" elapsed="0.002957"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.116220" elapsed="0.000278"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.115896" elapsed="0.000655"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.115875" elapsed="0.000712"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.117133" level="INFO">${j} = 93</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.116763" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.117977" level="INFO">${item} =         {
          "id": "93",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.117344" elapsed="0.000663"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.118225" elapsed="0.000227"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-05-25T00:38:09.115831" elapsed="0.002669"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.119062" elapsed="0.000271"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.118740" elapsed="0.000643"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.118719" elapsed="0.000699"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.121202" level="INFO">${j} = 94</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.120405" elapsed="0.000860"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.122476" level="INFO">${item} =         {
          "id": "94",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.121547" elapsed="0.000968"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.122722" elapsed="0.000311"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-05-25T00:38:09.118678" elapsed="0.004408"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.123769" elapsed="0.000249"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.123423" elapsed="0.000646"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.123395" elapsed="0.000711"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.124814" level="INFO">${j} = 95</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.124330" elapsed="0.000519"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.125898" level="INFO">${item} =         {
          "id": "95",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.125062" elapsed="0.000875"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.126224" elapsed="0.000264"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-05-25T00:38:09.123341" elapsed="0.003196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.127077" elapsed="0.000260"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.126769" elapsed="0.000617"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.126749" elapsed="0.000670"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.128059" level="INFO">${j} = 96</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.127614" elapsed="0.000479"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.129112" level="INFO">${item} =         {
          "id": "96",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.128319" elapsed="0.000829"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.129388" elapsed="0.000266"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-05-25T00:38:09.126711" elapsed="0.002995"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.130345" elapsed="0.000255"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.129965" elapsed="0.000813"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.129941" elapsed="0.000878"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.131535" level="INFO">${j} = 97</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.131032" elapsed="0.000539"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.132657" level="INFO">${item} =         {
          "id": "97",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.131793" elapsed="0.000904"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.132921" elapsed="0.000243"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-05-25T00:38:09.129894" elapsed="0.003320"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.133782" elapsed="0.000242"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.133467" elapsed="0.000606"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.133447" elapsed="0.000663"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.134822" level="INFO">${j} = 98</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.134370" elapsed="0.000487"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.135889" level="INFO">${item} =         {
          "id": "98",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.135072" elapsed="0.000858"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.136159" elapsed="0.000282"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-05-25T00:38:09.133409" elapsed="0.003084"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.137110" elapsed="0.000213"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.136857" elapsed="0.000507"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.136699" elapsed="0.000691"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.137921" level="INFO">${j} = 99</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.137551" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.138814" level="INFO">${item} =         {
          "id": "99",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
 ...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.138169" elapsed="0.000683"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.139052" elapsed="0.000222"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-05-25T00:38:09.136666" elapsed="0.002648"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.139802" elapsed="0.000249"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.139499" elapsed="0.000606"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.139484" elapsed="0.000659"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.140702" level="INFO">${j} = 100</msg>
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.140322" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.141555" level="INFO">${item} =         {
          "id": "100",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
...</msg>
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.140888" elapsed="0.000698"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.141800" elapsed="0.000191"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-05-25T00:38:09.139453" elapsed="0.002577"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-05-25T00:38:08.885044" elapsed="0.257019"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.143468" level="INFO">${final_text} = {
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "...</msg>
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="PASS" start="2026-05-25T00:38:09.142300" elapsed="0.001198"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:09.143565" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:38:09.143761" level="INFO">${data} = {
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "...</msg>
<var>${data}</var>
<arg>folder=${folder}</arg>
<arg>name_prefix=post_</arg>
<arg>base_name=${base_name}</arg>
<arg>extension=${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>endline=${endline}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from 1, by one 100 times.
Template variable ${j} is calculated as ${i} incremented by offset 0 ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:08.829331" elapsed="0.314457"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:09.145548" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:09.145131" elapsed="0.000505">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/openflowplugin/add-flow/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:09.145735" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:09.144636" elapsed="0.001125"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:09.146093" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:09.145833" elapsed="0.000320"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.146855" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:09.146465" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.146212" elapsed="0.000707"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.145814" elapsed="0.001128"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.150002" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:09.147122" elapsed="0.002914"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:09.150102" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:09.150386" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/suites/openflowplugin/Reconciliation/../../../variables/openflowplugin/add-flow/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:09.144218" elapsed="0.006201"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.152560" level="INFO">/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.152191" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.153172" level="INFO">{
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.1/32"
          },
          "flow-name": "Flow-1",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 1
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.2/32"
          },
          "flow-name": "Flow-2",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 2
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.3/32"
          },
          "flow-name": "Flow-3",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 3
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.4/32"
          },
          "flow-name": "Flow-4",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 4
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.5/32"
          },
          "flow-name": "Flow-5",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 5
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.6/32"
          },
          "flow-name": "Flow-6",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 6
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.7/32"
          },
          "flow-name": "Flow-7",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 7
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.8/32"
          },
          "flow-name": "Flow-8",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 8
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.9/32"
          },
          "flow-name": "Flow-9",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 9
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.10/32"
          },
          "flow-name": "Flow-10",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 10
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.11/32"
          },
          "flow-name": "Flow-11",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 11
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.12/32"
          },
          "flow-name": "Flow-12",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 12
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.13/32"
          },
          "flow-name": "Flow-13",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 13
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.14/32"
          },
          "flow-name": "Flow-14",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 14
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "15",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.15/32"
          },
          "flow-name": "Flow-15",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 15
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "16",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.16/32"
          },
          "flow-name": "Flow-16",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 16
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "17",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.17/32"
          },
          "flow-name": "Flow-17",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 17
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "18",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.18/32"
          },
          "flow-name": "Flow-18",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 18
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "19",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.19/32"
          },
          "flow-name": "Flow-19",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 19
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "20",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.20/32"
          },
          "flow-name": "Flow-20",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 20
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "21",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.21/32"
          },
          "flow-name": "Flow-21",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 21
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "22",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.22/32"
          },
          "flow-name": "Flow-22",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 22
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "23",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.23/32"
          },
          "flow-name": "Flow-23",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 23
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "24",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.24/32"
          },
          "flow-name": "Flow-24",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 24
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "25",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.25/32"
          },
          "flow-name": "Flow-25",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 25
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "26",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.26/32"
          },
          "flow-name": "Flow-26",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 26
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "27",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.27/32"
          },
          "flow-name": "Flow-27",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 27
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "28",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.28/32"
          },
          "flow-name": "Flow-28",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 28
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "29",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.29/32"
          },
          "flow-name": "Flow-29",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 29
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "30",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.30/32"
          },
          "flow-name": "Flow-30",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 30
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "31",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.31/32"
          },
          "flow-name": "Flow-31",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 31
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "32",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.32/32"
          },
          "flow-name": "Flow-32",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 32
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "33",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.33/32"
          },
          "flow-name": "Flow-33",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 33
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "34",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.34/32"
          },
          "flow-name": "Flow-34",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 34
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "35",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.35/32"
          },
          "flow-name": "Flow-35",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 35
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "36",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.36/32"
          },
          "flow-name": "Flow-36",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 36
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "37",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.37/32"
          },
          "flow-name": "Flow-37",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 37
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "38",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.38/32"
          },
          "flow-name": "Flow-38",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 38
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "39",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.39/32"
          },
          "flow-name": "Flow-39",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 39
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "40",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.40/32"
          },
          "flow-name": "Flow-40",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 40
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "41",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.41/32"
          },
          "flow-name": "Flow-41",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 41
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "42",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.42/32"
          },
          "flow-name": "Flow-42",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 42
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "43",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.43/32"
          },
          "flow-name": "Flow-43",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 43
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "44",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.44/32"
          },
          "flow-name": "Flow-44",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 44
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "45",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.45/32"
          },
          "flow-name": "Flow-45",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 45
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "46",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.46/32"
          },
          "flow-name": "Flow-46",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 46
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "47",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.47/32"
          },
          "flow-name": "Flow-47",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 47
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "48",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.48/32"
          },
          "flow-name": "Flow-48",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 48
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "49",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.49/32"
          },
          "flow-name": "Flow-49",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 49
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "50",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.50/32"
          },
          "flow-name": "Flow-50",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 50
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "51",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.51/32"
          },
          "flow-name": "Flow-51",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 51
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "52",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.52/32"
          },
          "flow-name": "Flow-52",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 52
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "53",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.53/32"
          },
          "flow-name": "Flow-53",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 53
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "54",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.54/32"
          },
          "flow-name": "Flow-54",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 54
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "55",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.55/32"
          },
          "flow-name": "Flow-55",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 55
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "56",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.56/32"
          },
          "flow-name": "Flow-56",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 56
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "57",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.57/32"
          },
          "flow-name": "Flow-57",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 57
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "58",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.58/32"
          },
          "flow-name": "Flow-58",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 58
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "59",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.59/32"
          },
          "flow-name": "Flow-59",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 59
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "60",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.60/32"
          },
          "flow-name": "Flow-60",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 60
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "61",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.61/32"
          },
          "flow-name": "Flow-61",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 61
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "62",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.62/32"
          },
          "flow-name": "Flow-62",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 62
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "63",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.63/32"
          },
          "flow-name": "Flow-63",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 63
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "64",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.64/32"
          },
          "flow-name": "Flow-64",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 64
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "65",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.65/32"
          },
          "flow-name": "Flow-65",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 65
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "66",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.66/32"
          },
          "flow-name": "Flow-66",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 66
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "67",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.67/32"
          },
          "flow-name": "Flow-67",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 67
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "68",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.68/32"
          },
          "flow-name": "Flow-68",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 68
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "69",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.69/32"
          },
          "flow-name": "Flow-69",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 69
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "70",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.70/32"
          },
          "flow-name": "Flow-70",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 70
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "71",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.71/32"
          },
          "flow-name": "Flow-71",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 71
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "72",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.72/32"
          },
          "flow-name": "Flow-72",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 72
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "73",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.73/32"
          },
          "flow-name": "Flow-73",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 73
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "74",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.74/32"
          },
          "flow-name": "Flow-74",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 74
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "75",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.75/32"
          },
          "flow-name": "Flow-75",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 75
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "76",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.76/32"
          },
          "flow-name": "Flow-76",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 76
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "77",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.77/32"
          },
          "flow-name": "Flow-77",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 77
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "78",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.78/32"
          },
          "flow-name": "Flow-78",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 78
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "79",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.79/32"
          },
          "flow-name": "Flow-79",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 79
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "80",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.80/32"
          },
          "flow-name": "Flow-80",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 80
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "81",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.81/32"
          },
          "flow-name": "Flow-81",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 81
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "82",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.82/32"
          },
          "flow-name": "Flow-82",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 82
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "83",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.83/32"
          },
          "flow-name": "Flow-83",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 83
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "84",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.84/32"
          },
          "flow-name": "Flow-84",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 84
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "85",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.85/32"
          },
          "flow-name": "Flow-85",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 85
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "86",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.86/32"
          },
          "flow-name": "Flow-86",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 86
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "87",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.87/32"
          },
          "flow-name": "Flow-87",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 87
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "88",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.88/32"
          },
          "flow-name": "Flow-88",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 88
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "89",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.89/32"
          },
          "flow-name": "Flow-89",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 89
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "90",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.90/32"
          },
          "flow-name": "Flow-90",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 90
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "91",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.91/32"
          },
          "flow-name": "Flow-91",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 91
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "92",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.92/32"
          },
          "flow-name": "Flow-92",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 92
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "93",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.93/32"
          },
          "flow-name": "Flow-93",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 93
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "94",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.94/32"
          },
          "flow-name": "Flow-94",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 94
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "95",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.95/32"
          },
          "flow-name": "Flow-95",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 95
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "96",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.96/32"
          },
          "flow-name": "Flow-96",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 96
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "97",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.97/32"
          },
          "flow-name": "Flow-97",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 97
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "98",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.98/32"
          },
          "flow-name": "Flow-98",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 98
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "99",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.99/32"
          },
          "flow-name": "Flow-99",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 99
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "100",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.100/32"
          },
          "flow-name": "Flow-100",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 100
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
  ]
}</msg>
<arg>${data}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.152847" elapsed="0.001605"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.154990" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${content_type}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.154669" elapsed="0.000377"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.155575" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.155269" elapsed="0.000361"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:09.156676" level="INFO">${accumulator} = {'Content-Type': 'application/json'}</msg>
<var>${accumulator}</var>
<arg>${first}</arg>
<doc>Returns a copy of the given dictionary.</doc>
<status status="PASS" start="2026-05-25T00:38:09.156428" elapsed="0.000280"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-05-25T00:38:09.157135" level="INFO">${items_to_add} = []</msg>
<var>${items_to_add}</var>
<arg>${second}</arg>
<doc>Returns items of the given ``dictionary`` as a list.</doc>
<status status="PASS" start="2026-05-25T00:38:09.156915" elapsed="0.000254"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${accumulator}</arg>
<arg>@{items_to_add}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.157392" elapsed="0.000251"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.158169" level="INFO">{'Content-Type': 'application/json'}</msg>
<arg>${accumulator}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.157851" elapsed="0.000374"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-05-25T00:38:09.158339" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:38:09.158538" level="INFO">${headers} = {'Content-Type': 'application/json'}</msg>
<var>${headers}</var>
<arg>first=${content_type}</arg>
<arg>second=${accept}</arg>
<doc>Take two dicts, join them, return result. Second argument values take precedence.</doc>
<status status="PASS" start="2026-05-25T00:38:09.155890" elapsed="0.002680"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:09.193348" level="INFO">POST Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '76286', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "flow": [
        {
          "id": "1",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.1/32"
          },
          "flow-name": "Flow-1",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 1
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "2",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.2/32"
          },
          "flow-name": "Flow-2",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 2
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "3",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.3/32"
          },
          "flow-name": "Flow-3",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 3
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "4",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.4/32"
          },
          "flow-name": "Flow-4",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 4
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "5",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.5/32"
          },
          "flow-name": "Flow-5",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 5
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "6",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.6/32"
          },
          "flow-name": "Flow-6",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 6
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "7",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.7/32"
          },
          "flow-name": "Flow-7",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 7
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "8",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.8/32"
          },
          "flow-name": "Flow-8",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 8
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "9",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.9/32"
          },
          "flow-name": "Flow-9",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 9
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "10",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.10/32"
          },
          "flow-name": "Flow-10",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 10
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "11",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.11/32"
          },
          "flow-name": "Flow-11",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 11
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "12",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.12/32"
          },
          "flow-name": "Flow-12",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 12
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "13",
          "priority": 100,
          "table_id": 0,
          "match": {
            "ethernet-match": {
              "ethernet-type": {
                "type": 2048
              }
            },
            "ipv4-destination": "10.0.10.13/32"
          },
          "flow-name": "Flow-13",
          "instructions": {
            "instruction": [
              {
                "order": 1,
                "apply-actions": {
                  "action": [
                    {
                      "order": 1,
                      "group-action": {
                        "group-id": 13
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "id": "14",
          "priority": 100,
          "table_id": 0,
          "match": ... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:09.193600" level="INFO">POST Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0/flow=69', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:09.193781" level="INFO">${response} = &lt;Response [201]&gt;</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:09.161931" elapsed="0.031890"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.158879" elapsed="0.035014"/>
</branch>
<branch type="ELSE">
<kw name="POST On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>${uri}</arg>
<arg>data=${data}</arg>
<arg>headers=${headers}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:09.194182" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:09.193934" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.158637" elapsed="0.035691"/>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.199075" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.195899" elapsed="0.003234"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.195574" elapsed="0.003606"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.195544" elapsed="0.003673"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.202789" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.199654" elapsed="0.003195"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.199314" elapsed="0.003579"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.199290" elapsed="0.003637"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.203713" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($additional_allowed_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.203190" elapsed="0.000560"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:09.204185" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:09.203839" elapsed="0.000443"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.204960" level="INFO">${allowed_status_codes_list} = []</msg>
<var>${allowed_status_codes_list}</var>
<arg>${additional_allowed_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:09.204565" elapsed="0.000431"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.204319" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.203816" elapsed="0.001256"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.205823" level="INFO">${status_codes_type} = list</msg>
<var>${status_codes_type}</var>
<arg>type($explicit_status_codes).__name__</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.205332" elapsed="0.000528"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status_codes_type}&quot;!=&quot;list&quot;">
<kw name="Create List" owner="BuiltIn">
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:09.206372" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:09.205954" elapsed="0.000501"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.207144" level="INFO">${explicit_status_codes_list} = []</msg>
<var>${explicit_status_codes_list}</var>
<arg>${explicit_status_codes}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:09.206755" elapsed="0.000424"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:09.206490" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.205930" elapsed="0.001347"/>
</if>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>"""${explicit_status_codes_list}""" != """${NO_STATUS_CODES}"""</arg>
<arg>Collections.List_Should_Contain_Value</arg>
<arg>${explicit_status_codes_list}</arg>
<arg>${response.status_code}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:09.207493" elapsed="0.000455"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-05-25T00:38:09.208579" level="INFO">${final_allowd_list} = [200, 201, 204]</msg>
<var>${final_allowd_list}</var>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${allowed_status_codes_list}</arg>
<doc>Combines the given ``lists`` together and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:09.208179" elapsed="0.000434"/>
</kw>
<kw name="List Should Contain Value" owner="Collections">
<arg>${final_allowd_list}</arg>
<arg>${response.status_code}</arg>
<doc>Fails if the ``value`` is not found from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.208826" elapsed="0.004086"/>
</kw>
<arg>${response}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="PASS" start="2026-05-25T00:38:09.194897" elapsed="0.018170"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:09.213520" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:09.213264" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.213190" elapsed="0.000486"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-05-25T00:38:09.217757" level="INFO">${text_normalized} = </msg>
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="PASS" start="2026-05-25T00:38:09.214015" elapsed="0.003783"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-05-25T00:38:09.217870" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:38:09.218110" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>data=${data}</arg>
<arg>content_type=${content_type}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<doc>POST data to given URI, check status code and return response text.
${content_type} and ${accept} are mandatory Python objects with headers to use.
If ${normalize_json}, normalize text before returning.</doc>
<status status="PASS" start="2026-05-25T00:38:09.150877" elapsed="0.067271"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:09.218341" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:38:09.218575" level="INFO">${response_text} = </msg>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>extension=json</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>content_type=${HEADERS_YANG_JSON}</arg>
<arg>mapping=${mapping}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>endline=${\n}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>additional_allowed_status_codes=${additional_allowed_status_codes}</arg>
<arg>explicit_status_codes=${explicit_status_codes}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve URI and data from folder, call Post_To_Uri, return response text.</doc>
<status status="PASS" start="2026-05-25T00:38:08.744527" elapsed="0.474105"/>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=response</arg>
<arg>mapping=${mapping}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:09.219150" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:09.218790" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.218764" elapsed="0.000549"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-05-25T00:38:09.219364" elapsed="0.000039"/>
</return>
<arg>folder=${VAR_DIR}/add-flow</arg>
<arg>mapping=${mapping}</arg>
<arg>session=session</arg>
<arg>iterations=${ITER}</arg>
<doc>Add arguments sensible for JSON data, return Post_Templated response text.
Optionally, verification against response.json (no iteration) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.
Response status code must be one of values from ${explicit_status_codes} if specified or one of set
created from all positive HTTP status codes together with ${additional_allowed_status_codes}.</doc>
<status status="PASS" start="2026-05-25T00:38:08.741955" elapsed="0.477596"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:08.730337" elapsed="0.489282"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:07.734470" elapsed="1.485198"/>
</for>
<doc>Add 100 flows to group type 2 in every switch.</doc>
<status status="PASS" start="2026-05-25T00:38:07.734091" elapsed="1.485748"/>
</test>
<test id="s1-s4-s1-t4" name="Start Mininet Linear" line="57">
<kw name="Start Mininet Linear" owner="MininetKeywords">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.222156" level="INFO">Start Mininet Linear</msg>
<arg>Start Mininet Linear</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.221822" elapsed="0.000403"/>
</kw>
<kw name="Start Mininet Single Controller" owner="MininetKeywords">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.225674" level="INFO">Clear any existing mininet</msg>
<arg>Clear any existing mininet</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.225450" elapsed="0.000271"/>
</kw>
<kw name="Clean Mininet System" owner="Utils">
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:09.228223" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:09.227936" elapsed="0.000362"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:09.227917" elapsed="0.000406"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:09.228647" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:09.228754" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:09.228475" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.229338" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:09.228936" elapsed="0.000454"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:09.229923" level="INFO">${conn_id} = 16</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:09.229550" elapsed="0.000400"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:09.230907" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:09.230987" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:09.230588" elapsed="0.000425"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:09.231175" elapsed="0.000345"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:09.232391" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:09.872690" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:09 UTC 2026

  System load:  0.21               Processes:             106
  Usage of /:   19.5% of 38.58GB   Users logged in:       0
  Memory usage: 5%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:35:53 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:09.232054" elapsed="0.640861"/>
</kw>
<msg time="2026-05-25T00:38:09.872995" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:09.231693" elapsed="0.641378"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:09.230169" elapsed="0.643009"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:09.873903" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-05-25T00:38:11.054986" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:11.055494" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:11.055640" level="INFO">${stderr} = *** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec iv...</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:09.873429" elapsed="1.182293"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:11.056467" elapsed="0.000651"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.058119" level="INFO">*** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
killall -9 controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2&gt; /dev/null
pkill -9 -f "sudo mnexec"
*** Removing junk from /tmp
rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log
*** Removing old X11 tunnels
*** Removing excess kernel datapaths
ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/'
***  Removing OVS datapaths
ovs-vsctl --timeout=1 list-br
ovs-vsctl --timeout=1 list-br
*** Removing all links of the pattern foo-ethX
ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'
ip link show
*** Killing stale mininet node processes
pkill -9 -f mininet:
*** Shutting down stale tunnels
pkill -9 -f Tunnel=Ethernet
pkill -9 -f .ssh/mn
rm -f ~/.ssh/mn/*
*** Cleanup complete.</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:11.057560" elapsed="0.000660"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:11.058666" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:11.058406" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:11.058353" elapsed="0.000456"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:11.059104" elapsed="0.000060"/>
</return>
<status status="PASS" start="2026-05-25T00:38:11.058911" elapsed="0.000315"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:11.058883" elapsed="0.000415"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:11.059359" elapsed="0.000028"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.064534" elapsed="0.000565"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:11.065342" elapsed="0.000218"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:11.065758" elapsed="0.000126"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:11.059967" elapsed="0.005987"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:09.227403" elapsed="1.838668"/>
</kw>
<msg time="2026-05-25T00:38:11.066144" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:09.226825" elapsed="1.839388"/>
</kw>
<arg>${system}</arg>
<arg>sudo mn -c</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:38:09.226301" elapsed="1.840039"/>
</kw>
<kw name="Run Command On Mininet" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:11.068917" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:11.068608" elapsed="0.000367"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:11.068588" elapsed="0.000412"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.069339" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:11.069449" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:11.069154" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.070014" level="INFO">Attempting to execute command "sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh" on remote system "10.30.171.87" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:11.069630" elapsed="0.000501"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.070689" level="INFO">${conn_id} = 18</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:11.070309" elapsed="0.000407"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.071641" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:11.071720" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:11.071354" elapsed="0.000390"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.071902" elapsed="0.000383"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.073142" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:11.396416" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:09 UTC 2026

  System load:  0.21               Processes:             106
  Usage of /:   19.5% of 38.58GB   Users logged in:       0
  Memory usage: 5%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:09 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:11.072824" elapsed="0.323757"/>
</kw>
<msg time="2026-05-25T00:38:11.396667" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.072459" elapsed="0.324291"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:11.070936" elapsed="0.325927"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.397371" level="INFO">Executing command 'sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh'.</msg>
<msg time="2026-05-25T00:38:11.429973" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-05-25T00:38:11.430387" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:11.430491" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:11.397113" elapsed="0.033432"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:11.431056" elapsed="0.000732"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.433232" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:11.432434" elapsed="0.000969"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:11.434053" elapsed="0.000051"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:11.433623" elapsed="0.000575"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:11.433560" elapsed="0.000746"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:11.434786" elapsed="0.000085"/>
</return>
<status status="PASS" start="2026-05-25T00:38:11.434478" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:11.434430" elapsed="0.000607"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:11.435137" elapsed="0.000041"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.440629" elapsed="0.000335"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:11.441134" elapsed="0.000181"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:11.441467" elapsed="0.000101"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:11.436058" elapsed="0.005565"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:11.067970" elapsed="0.373746"/>
</kw>
<msg time="2026-05-25T00:38:11.441772" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.067216" elapsed="0.374610"/>
</kw>
<arg>${system}</arg>
<arg>sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:38:11.066574" elapsed="0.375366"/>
</kw>
<arg>${mininet}</arg>
<status status="PASS" start="2026-05-25T00:38:09.225927" elapsed="2.216162"/>
</kw>
<kw name="Open_Connection_To_Tools_System" owner="SSHKeywords">
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.447071" level="INFO">${tools_connection} = 20</msg>
<var>${tools_connection}</var>
<arg>${ip_address}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:11.446696" elapsed="0.000403"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.448867" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:11.448944" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:11.448586" elapsed="0.000382"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.449127" elapsed="0.000340"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.450372" level="INFO">Logging into '10.30.171.87:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:11.810550" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:09 UTC 2026

  System load:  0.21               Processes:             106
  Usage of /:   19.5% of 38.58GB   Users logged in:       0
  Memory usage: 5%                 IPv4 address for ens3: 10.30.171.87
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:11 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:11.450030" elapsed="0.360690"/>
</kw>
<msg time="2026-05-25T00:38:11.810810" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.449639" elapsed="0.361260"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:11.448082" elapsed="0.362938"/>
</kw>
<msg time="2026-05-25T00:38:11.811072" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:11.447684" elapsed="0.363436"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-05-25T00:38:11.447297" elapsed="0.363901"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-05-25T00:38:11.811273" elapsed="0.000055"/>
</return>
<msg time="2026-05-25T00:38:11.811546" level="INFO">${mininet_conn_id} = 20</msg>
<var>${mininet_conn_id}</var>
<arg>ip_address=${mininet}</arg>
<arg>timeout=${timeout}</arg>
<doc>Open a connection to the tools system at ${ip_address} and return its identifier.</doc>
<status status="PASS" start="2026-05-25T00:38:11.446186" elapsed="0.365388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.812436" level="INFO">${mininet_conn_id} = 20</msg>
<arg>${mininet_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-05-25T00:38:11.811918" elapsed="0.000562"/>
</kw>
<if>
<branch type="IF" condition="'${custom}' != '${EMPTY}'">
<kw name="Put File" owner="SSHLibrary">
<arg>${custom}</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:11.814804" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:11.812568" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:11.812541" elapsed="0.002348"/>
</if>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:11.815391" level="INFO">Start mininet --topo linear,3 to 10.30.170.7</msg>
<arg>Start mininet ${options} to ${controller}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:11.815071" elapsed="0.000366"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:38:11.817665" level="INFO">sudo mn --controller 'remote,ip=10.30.170.7,port=6633' --topo linear,3 --switch ovsk,protocols=OpenFlow13</msg>
<arg>sudo mn --controller 'remote,ip=${controller},port=${ofport}' ${options} --switch ovsk,protocols=OpenFlow${ofversion}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:38:11.815629" elapsed="0.002093"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:38:12.096844" level="INFO">[?2004l*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 
*** Adding switches:
s1 s2 s3 
*** Adding links:
(h1, s1) (h2, s2) (h3, s3) (s2, s1) (s3, s2) 
*** Configuring hosts
h1 h2 h3 
*** Starting controller
c0 
*** Starting 3 switches
s1 s2 s3 ...
*** Starting CLI:
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:38:11.817881" elapsed="0.279158"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:12.097920" level="INFO">Check OVS configuratiom</msg>
<arg>Check OVS configuratiom</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:12.097495" elapsed="0.000475"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:38:12.099313" level="INFO">sh ovs-vsctl show</msg>
<arg>sh ovs-vsctl show</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:38:12.098154" elapsed="0.001218"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:38:12.118593" level="INFO">9a5df812-eb49-4477-a37e-2d464c02791d
    Manager "ptcp:6644"
    Bridge s2
        Controller "tcp:10.30.170.7:6633"
        Controller "ptcp:6655"
        fail_mode: secure
        Port s2-eth1
            Interface s2-eth1
        Port s2-eth3
            Interface s2-eth3
        Port s2-eth2
            Interface s2-eth2
        Port s2
            Interface s2
                type: internal
    Bridge s3
        Controller "tcp:10.30.170.7:6633"
        Controller "ptcp:6656"
        fail_mode: secure
        Port s3-eth1
            Interface s3-eth1
        Port s3-eth2
            Interface s3-eth2
        Port s3
            Interface s3
                type: internal
    Bridge s1
        Controller "ptcp:6654"
        Controller "tcp:10.30.170.7:6633"
        fail_mode: secure
        Port s1-eth1
            Interface s1-eth1
        Port s1-eth2
            Interface s1-eth2
        Port s1
            Interface s1
                type: internal
    ovs_version: "2.17.11"
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:38:12.099538" elapsed="0.019250"/>
</kw>
<return>
<value>${mininet_conn_id}</value>
<status status="PASS" start="2026-05-25T00:38:12.118852" elapsed="0.000063"/>
</return>
<arg>options=--topo linear,${switches}</arg>
<arg>ofversion=${ofversion}</arg>
<arg>ofport=${ofport}</arg>
<arg>timeout=${mininet_timeout}</arg>
<doc>Start Mininet with custom topology and connect to controller.</doc>
<status status="PASS" start="2026-05-25T00:38:09.222730" elapsed="2.896361"/>
</kw>
<arg>${SWITCHES}</arg>
<doc>Start mininet linear topology with 3 nodes.</doc>
<status status="PASS" start="2026-05-25T00:38:09.220983" elapsed="2.898186"/>
</kw>
<doc>Start Mininet Linear with 3 switches.</doc>
<status status="PASS" start="2026-05-25T00:38:09.220176" elapsed="2.899160"/>
</test>
<test id="s1-s4-s1-t5" name="Check Linear Topology" line="61">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:12.126327" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:12.126559" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:12.126712" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:12.121668" elapsed="0.005072"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:12.129449" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:12.126966" elapsed="0.002532"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:12.134697" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:12.132225" elapsed="0.002550">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.134983" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.135186" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.135403" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.135609" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.135812" elapsed="0.000020"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.136098" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:12.135916" elapsed="0.000237"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:12.135894" elapsed="0.000287"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.136425" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:12.136250" elapsed="0.000231"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:12.136220" elapsed="0.000284"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:12.136726" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:12.136557" elapsed="0.000223"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:12.136541" elapsed="0.000295"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:12.132039" elapsed="0.004851">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:12.129562" elapsed="0.007389">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:12.121308" elapsed="0.015776">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:13.145409" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:13.145598" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:13.145749" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:13.139420" elapsed="0.006366"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:13.150065" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:13.146220" elapsed="0.003917"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:13.157305" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:13.153873" elapsed="0.003511">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.157591" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.157795" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.157992" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.158188" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.158401" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.158675" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:13.158498" elapsed="0.000232"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:13.158477" elapsed="0.000279"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.158985" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:13.158813" elapsed="0.000226"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:13.158797" elapsed="0.000266"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:13.159302" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:13.159116" elapsed="0.000242"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:13.159101" elapsed="0.000281"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:13.153620" elapsed="0.005811">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:13.150219" elapsed="0.009271">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:13.138477" elapsed="0.021116">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:14.169069" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:14.169447" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:14.169741" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:14.161793" elapsed="0.008012"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:14.176116" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:14.170446" elapsed="0.005876"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:14.182253" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:14.179594" elapsed="0.002747">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.182555" elapsed="0.000024"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.182761" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.182961" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.183162" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.183390" elapsed="0.000122"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.183801" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:14.183612" elapsed="0.000248"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:14.183586" elapsed="0.000304"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.184127" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:14.183950" elapsed="0.000236"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:14.183933" elapsed="0.000279"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:14.184525" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:14.184325" elapsed="0.000259"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:14.184305" elapsed="0.000304"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:14.179329" elapsed="0.005334">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:14.176475" elapsed="0.008265">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:14.160887" elapsed="0.023977">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:15.193899" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:15.194099" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:15.194306" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:15.187224" elapsed="0.007125"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:15.198979" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:15.194706" elapsed="0.004352"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:15.206344" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:15.202835" elapsed="0.003614">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.206812" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.207126" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.207491" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.207771" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.208047" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.208388" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:15.208190" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:15.208164" elapsed="0.000308"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.208698" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:15.208527" elapsed="0.000227"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:15.208511" elapsed="0.000266"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:15.209002" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:15.208830" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:15.208815" elapsed="0.000266"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:15.202571" elapsed="0.006568">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:15.199156" elapsed="0.010045">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:15.186271" elapsed="0.023118">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:16.218401" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:16.220408" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2657'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:16.220598" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:16.211805" elapsed="0.008832"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:16.224652" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:16.221049" elapsed="0.003696"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:16.228370" elapsed="0.003327"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:16.231896" elapsed="0.002452"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:16.234544" elapsed="0.002507"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:16.237271" elapsed="0.002450"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:16.242646" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</msg>
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:16.239974" elapsed="0.002777">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:16.242976" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:16.243291" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:16.243083" elapsed="0.000266"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:16.243058" elapsed="0.000320"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:16.243605" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:16.243433" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:16.243417" elapsed="0.000267"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:16.243907" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:16.243735" elapsed="0.000226"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:16.243720" elapsed="0.000265"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:16.228092" elapsed="0.015947">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:16.224830" elapsed="0.019322">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:16.210833" elapsed="0.033470">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:17.264119" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:17.264446" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2657'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:17.264664" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:17.248714" elapsed="0.016017"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:17.267989" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:17.265050" elapsed="0.003015"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:17.271027" elapsed="0.002661"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:17.273920" elapsed="0.002955"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:17.277108" elapsed="0.002930"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:17.280281" elapsed="0.002848"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:17.286468" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</msg>
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:17.283380" elapsed="0.003209">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:17.286917" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:17.287306" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:17.287048" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:17.287019" elapsed="0.000403"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:17.287658" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:17.287482" elapsed="0.000233"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:17.287465" elapsed="0.000274"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:17.287963" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:17.287792" elapsed="0.000227"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:17.287777" elapsed="0.000265"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:17.270843" elapsed="0.017263">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:17.268140" elapsed="0.020056">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:17.247744" elapsed="0.040605">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:18.297936" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:18.299996" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:18.300178" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:18.290656" elapsed="0.009561"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.304691" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:18.300566" elapsed="0.004229"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.308450" elapsed="0.003392"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.312040" elapsed="0.002438"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.314674" elapsed="0.002444"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.317397" elapsed="0.002477"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.320067" elapsed="0.002441"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.323178" level="INFO">${edge} = True</msg>
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:18.322704" elapsed="0.000501"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.323549" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.323301" elapsed="0.000306"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.323278" elapsed="0.000357"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.323923" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.323689" elapsed="0.000297"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.323674" elapsed="0.000337"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.324315" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.324064" elapsed="0.000308"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.324048" elapsed="0.000348"/>
</if>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:18.308176" elapsed="0.016243"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.324790" elapsed="0.002480"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.327464" elapsed="0.002425"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.330079" elapsed="0.002468"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.332736" elapsed="0.002434"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.335383" elapsed="0.002443"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.338480" level="INFO">${edge} = False</msg>
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:18.338018" elapsed="0.000489"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.338826" elapsed="0.002446"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:18.338578" elapsed="0.002736"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.338559" elapsed="0.002781"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.341640" elapsed="0.002455"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:18.341395" elapsed="0.002741"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.341379" elapsed="0.002783"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.344482" elapsed="0.002418"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:18.344217" elapsed="0.002724"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.344201" elapsed="0.002766"/>
</if>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:18.324628" elapsed="0.022362"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.347524" elapsed="0.002528"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.350260" elapsed="0.002466"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.352919" elapsed="0.002469"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.355580" elapsed="0.002422"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:18.358195" elapsed="0.002472"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.361309" level="INFO">${edge} = True</msg>
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:18.360857" elapsed="0.000479"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.361644" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.361406" elapsed="0.000295"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.361388" elapsed="0.000338"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.362012" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.361778" elapsed="0.000331"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.361763" elapsed="0.000371"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.362439" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.362187" elapsed="0.000308"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.362172" elapsed="0.000347"/>
</if>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:18.347218" elapsed="0.015324"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:18.304876" elapsed="0.057694"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="PASS" start="2026-05-25T00:38:18.289703" elapsed="0.072931"/>
</kw>
<arg>30s</arg>
<arg>1s</arg>
<arg>FlowLib.Check Linear Topology</arg>
<arg>${SWITCHES}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:38:12.120036" elapsed="6.242649"/>
</kw>
<doc>Check Linear Topology.</doc>
<status status="PASS" start="2026-05-25T00:38:12.119576" elapsed="6.243239"/>
</test>
<test id="s1-s4-s1-t6" name="Check Flows In Operational DS" line="65">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:18.428607" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:18.434703" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":40206,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"11","active-flows":101,"packets-matched":"1"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":133000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"#UF$TABLE*0-59","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":112000000}},"flags":"SEND_FLOW_REM"},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"g... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:18.435320" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:18.365296" elapsed="0.070096"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.442713" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":40206,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"11","active-flows":101,"packets-matched":"1"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":133000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"#UF$TABLE*0-59","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":112000000}},"flags":"SEND_FLOW_REM"},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":133000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:16.123Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"c6:f8:61:3b:5b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":230000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"a2:1a:ec:30:3c:32","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":240000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:b3:97:14:41:1d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":240000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":3,"nanosecond":929000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":3,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":3,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":3,"nanosecond":119000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":0,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":3,"nanosecond":120000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":3,"nanosecond":120000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":3,"nanosecond":119000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":0,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":0,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":3,"nanosecond":115000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":2,"nanosecond":618000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":1,"nanosecond":618000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":1,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":1,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":1,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":1,"nanosecond":116000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":1,"nanosecond":116000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":1,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":1,"nanosecond":116000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":1,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:16.265Z"}},{"id":"openflow:1","flow-node-inventory:port-number":40190,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"10","active-flows":101,"packets-matched":"0"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"#UF$TABLE*0-61","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":"SEND_FLOW_REM"},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:16.145Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ee:6e:f1:3f:cd:61","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":266000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"52:ba:51:fd:6b:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":255000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"8e:c3:ef:05:fb:03","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":267000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":0,"nanosecond":603000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":0,"nanosecond":603000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":3,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":3,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":2,"nanosecond":115000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":2,"nanosecond":115000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":2,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":2,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":2,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":2,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":2,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":2,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":2,"nanosecond":105000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":2,"nanosecond":105000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":2,"nanosecond":105000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":1,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":1,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":1,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":1,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":1,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:16.280Z"}},{"id":"openflow:2","flow-node-inventory:port-number":40212,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":101,"packets-matched":"1"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":130000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":130000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":130000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"#UF$TABLE*0-60","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":68000000}},"flags":"SEND_FLOW_REM"},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:16.144Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"ea:bc:a1:f3:eb:05","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":229000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:ad:30:2f:c2:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":220000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"76:72:17:c6:92:3e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":230000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"76:b1:67:39:f7:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":229000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":0,"nanosecond":603000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:16.264Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:18.435957" elapsed="0.011389"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.450567" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-05-25T00:38:18.450652" level="INFO">${count} = 303</msg>
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="PASS" start="2026-05-25T00:38:18.447551" elapsed="0.003126"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="PASS" start="2026-05-25T00:38:18.450881" elapsed="0.000320"/>
</kw>
<arg>${all_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="PASS" start="2026-05-25T00:38:18.364787" elapsed="0.086499"/>
</kw>
<arg>30s</arg>
<arg>1s</arg>
<arg>FlowLib.Check Number Of Flows</arg>
<arg>${all_flows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:38:18.363933" elapsed="0.087436"/>
</kw>
<doc>Check Groups after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:38:18.363384" elapsed="0.088108"/>
</test>
<test id="s1-s4-s1-t7" name="Check Groups In Operational DS" line="69">
<kw name="Check Number Of Groups" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:18.499167" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:18.501196" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":40206,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"11","active-flows":101,"packets-matched":"1"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":133000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"#UF$TABLE*0-59","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":112000000}},"flags":"SEND_FLOW_REM"},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"g... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:18.501677" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:18.452777" elapsed="0.048961"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.506899" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":40206,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"11","active-flows":101,"packets-matched":"1"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":133000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"#UF$TABLE*0-59","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":112000000}},"flags":"SEND_FLOW_REM"},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":59000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":133000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":60000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":112000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":119000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":123000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:16.123Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"c6:f8:61:3b:5b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":230000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"a2:1a:ec:30:3c:32","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":240000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:b3:97:14:41:1d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":240000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":3,"nanosecond":929000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":3,"nanosecond":928000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":3,"nanosecond":927000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":3,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":3,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":3,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":3,"nanosecond":119000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":0,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":3,"nanosecond":120000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":3,"nanosecond":120000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":3,"nanosecond":119000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":0,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":0,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":3,"nanosecond":115000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":3,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":3,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":0,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":3,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":2,"nanosecond":618000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":2,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":2,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":2,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":2,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":0,"nanosecond":606000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":1,"nanosecond":618000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":1,"nanosecond":617000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":1,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":1,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":1,"nanosecond":616000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":1,"nanosecond":116000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":1,"nanosecond":116000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":1,"nanosecond":117000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":1,"nanosecond":116000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":1,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:16.265Z"}},{"id":"openflow:1","flow-node-inventory:port-number":40190,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"10","active-flows":101,"packets-matched":"0"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"#UF$TABLE*0-61","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":"SEND_FLOW_REM"},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":152000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":153000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":124000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":125000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:16.145Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ee:6e:f1:3f:cd:61","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":266000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"52:ba:51:fd:6b:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":255000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"8e:c3:ef:05:fb:03","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":267000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":0,"nanosecond":603000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":0,"nanosecond":603000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":3,"nanosecond":926000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":3,"nanosecond":615000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":3,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":3,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":3,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":3,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":2,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":2,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":2,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":2,"nanosecond":115000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":2,"nanosecond":115000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":2,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":2,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":2,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":2,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":2,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":2,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":2,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":2,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":2,"nanosecond":105000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":2,"nanosecond":105000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":2,"nanosecond":105000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":1,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":1,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":1,"nanosecond":114000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":1,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":1,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":1,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":1,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":0,"nanosecond":594000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":1,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:16.280Z"}},{"id":"openflow:2","flow-node-inventory:port-number":40212,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":101,"packets-matched":"1"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":130000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":130000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":130000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"#UF$TABLE*0-60","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"1","byte-count":"85","duration":{"second":0,"nanosecond":68000000}},"flags":"SEND_FLOW_REM"},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":132000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":107000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":126000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":108000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:16.144Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"ea:bc:a1:f3:eb:05","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":229000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:ad:30:2f:c2:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":220000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"76:72:17:c6:92:3e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":230000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"76:b1:67:39:f7:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"7","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":4,"nanosecond":229000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":1,"nanosecond":106000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":3,"nanosecond":925000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":0,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":0,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":3,"nanosecond":614000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":0,"nanosecond":608000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":0,"nanosecond":607000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":0,"nanosecond":603000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":3,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":3,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":0,"nanosecond":602000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":3,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":3,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":2,"nanosecond":610000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":2,"nanosecond":609000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":2,"nanosecond":113000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":2,"nanosecond":112000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":2,"nanosecond":111000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":2,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":2,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":1,"nanosecond":613000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":1,"nanosecond":612000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":1,"nanosecond":110000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":1,"nanosecond":109000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":1,"nanosecond":108000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":0,"nanosecond":601000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":1,"nanosecond":107000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:16.264Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:18.502185" elapsed="0.010913"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.516444" level="INFO">Item found from container 600 times.</msg>
<msg time="2026-05-25T00:38:18.516528" level="INFO">${group_count} = 600</msg>
<var>${group_count}</var>
<arg>${resp.text}</arg>
<arg>"group-type"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="PASS" start="2026-05-25T00:38:18.513315" elapsed="0.003238"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${group_count}</arg>
<arg>${groups}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="PASS" start="2026-05-25T00:38:18.516751" elapsed="0.000315"/>
</kw>
<arg>${all_groups}</arg>
<doc>Check number of groups in the inventory.</doc>
<status status="PASS" start="2026-05-25T00:38:18.452437" elapsed="0.064692"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:38:18.451709" elapsed="0.065523"/>
</test>
<test id="s1-s4-s1-t8" name="Check Flows In Switch" line="73">
<kw name="Check Flows In Mininet" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:18.518523" elapsed="0.000145"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:18.518290" elapsed="0.000415"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.518265" elapsed="0.000467"/>
</if>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.519174" level="INFO">${cmd} = dpctl dump-aggregate -O OpenFlow13</msg>
<var>${cmd}</var>
<arg>dpctl dump-aggregate -O OpenFlow13</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:18.518913" elapsed="0.000288"/>
</kw>
<kw name="Send Mininet Command" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:18.520140" elapsed="0.000154"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:18.519920" elapsed="0.000411"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.519902" elapsed="0.000455"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:38:18.523464" level="INFO">dpctl dump-aggregate -O OpenFlow13</msg>
<arg>${cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:38:18.520499" elapsed="0.003025"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:38:18.603748" level="INFO">*** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=3 byte_count=225 flow_count=101
*** s2 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=5 byte_count=395 flow_count=101
*** s3 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=4 byte_count=310 flow_count=101
mininet&gt;</msg>
<msg time="2026-05-25T00:38:18.604070" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=3 byte_count=225 flow_count=101
*** s2 ------------------------...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:38:18.523688" elapsed="0.080461"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:18.604288" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:38:18.604476" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=3 byte_count=225 flow_count=101
*** s2 ------------------------...</msg>
<var>${output}</var>
<arg>${mininet_conn}</arg>
<arg>${cmd}</arg>
<doc>Sends Command dpctl dump-aggregate -O OpenFlow13 to Mininet session 20 and returns read buffer response.</doc>
<status status="PASS" start="2026-05-25T00:38:18.519614" elapsed="0.084891"/>
</kw>
<kw name="Get Regexp Matches" owner="String">
<msg time="2026-05-25T00:38:18.605509" level="INFO">${flows} = ['101', '101', '101']</msg>
<var>${flows}</var>
<arg>${output}</arg>
<arg>(?&lt;=flow_count\=).*?(?=\r)</arg>
<doc>Returns a list of all non-overlapping matches in the given string.</doc>
<status status="PASS" start="2026-05-25T00:38:18.604677" elapsed="0.000861"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.606133" level="INFO">${total_flows} = 303</msg>
<var>${total_flows}</var>
<arg>sum(map(int, ${flows}))</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:18.605711" elapsed="0.000451"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<arg>${total_flows}</arg>
<arg>${flow_count}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-05-25T00:38:18.606391" elapsed="0.000336"/>
</kw>
<arg>${mininet_conn_id}</arg>
<arg>${all_flows}</arg>
<doc>Sync with mininet to match exact number of flows</doc>
<status status="PASS" start="2026-05-25T00:38:18.517940" elapsed="0.088849"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:38:18.517428" elapsed="0.089470"/>
</test>
<test id="s1-s4-s1-t9" name="Disconnect Mininet" line="77">
<kw name="Disconnect Controller Mininet">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.608208" level="INFO">${rule} = OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP</msg>
<var>${rule}</var>
<arg>OUTPUT -p all --source ${ODL_SYSTEM_IP} --destination ${TOOLS_SYSTEM_IP} -j DROP</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:18.607861" elapsed="0.000399"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.608828" level="INFO">${command} = sudo /sbin/iptables -I OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP</msg>
<var>${command}</var>
<arg>'${action}'=='restore'</arg>
<arg>sudo /sbin/iptables -D ${rule}</arg>
<arg>sudo /sbin/iptables -I ${rule}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:18.608439" elapsed="0.000418"/>
</kw>
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:18.611110" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:18.610815" elapsed="0.000356"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:18.610794" elapsed="0.000402"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:18.611493" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:18.611699" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:18.611368" elapsed="0.000369"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.612343" level="INFO">Attempting to execute command "sudo /sbin/iptables -I OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:18.611913" elapsed="0.000481"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:18.612954" level="INFO">${conn_id} = 21</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:18.612562" elapsed="0.000421"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:18.613919" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:18.613999" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:18.613637" elapsed="0.000387"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:18.614186" elapsed="0.000350"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:18.615424" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:19.352169" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:18.615080" elapsed="0.737289"/>
</kw>
<msg time="2026-05-25T00:38:19.352466" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:18.614711" elapsed="0.737840"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:18.613206" elapsed="0.739466"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:19.353292" level="INFO">Executing command 'sudo /sbin/iptables -I OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP'.</msg>
<msg time="2026-05-25T00:38:19.386488" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:19.386747" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:19.386848" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:19.352937" elapsed="0.033963"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:19.387339" elapsed="0.000498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.388968" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:19.388328" elapsed="0.000736"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:19.389626" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:19.389326" elapsed="0.000408"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:19.389270" elapsed="0.000516"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:19.390141" elapsed="0.000062"/>
</return>
<status status="PASS" start="2026-05-25T00:38:19.389905" elapsed="0.000389"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:19.389871" elapsed="0.000461"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:19.390384" elapsed="0.000022"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:19.395463" elapsed="0.000211"/>
</kw>
<msg time="2026-05-25T00:38:19.395739" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:19.394687" elapsed="0.001148"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:19.396075" elapsed="0.000033"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:19.396344" elapsed="0.000031"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:19.390886" elapsed="0.005582"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:18.610268" elapsed="0.786338"/>
</kw>
<msg time="2026-05-25T00:38:19.396765" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:18.609675" elapsed="0.787161"/>
</kw>
<arg>cmd=${command}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:18.609068" elapsed="0.787888"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.397652" level="INFO">${command} = sudo /sbin/iptables -L -n</msg>
<var>${command}</var>
<arg>sudo /sbin/iptables -L -n</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:19.397230" elapsed="0.000462"/>
</kw>
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:19.400092" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:19.399794" elapsed="0.000357"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:19.399773" elapsed="0.000403"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:19.400476" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:19.400580" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:19.400347" elapsed="0.000260"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.401144" level="INFO">Attempting to execute command "sudo /sbin/iptables -L -n" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:19.400760" elapsed="0.000447"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:19.401765" level="INFO">${conn_id} = 22</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:19.401379" elapsed="0.000413"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.402709" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:19.402786" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:19.402425" elapsed="0.000384"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:19.402967" elapsed="0.000338"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:19.404155" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:19.726928" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:19 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:19.403839" elapsed="0.323323"/>
</kw>
<msg time="2026-05-25T00:38:19.727347" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:19.403480" elapsed="0.324029"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:19.402010" elapsed="0.325832"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:19.728822" level="INFO">Executing command 'sudo /sbin/iptables -L -n'.</msg>
<msg time="2026-05-25T00:38:19.752067" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:19.752374" level="INFO">${stdout} = Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  -...</msg>
<msg time="2026-05-25T00:38:19.752481" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:19.728382" elapsed="0.024151"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:19.752948" elapsed="0.000495"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.754575" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:19.753927" elapsed="0.000745"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:19.755126" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:19.754838" elapsed="0.000425"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:19.754790" elapsed="0.000528"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:19.755788" elapsed="0.000065"/>
</return>
<status status="PASS" start="2026-05-25T00:38:19.755535" elapsed="0.000395"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:19.755405" elapsed="0.000580"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:19.756063" elapsed="0.000032"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:19.761582" elapsed="0.000235"/>
</kw>
<msg time="2026-05-25T00:38:19.761906" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:19.760820" elapsed="0.001182"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:19.762265" elapsed="0.000037"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:19.762518" elapsed="0.000031"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:19.756800" elapsed="0.005842"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:19.399258" elapsed="0.363521"/>
</kw>
<msg time="2026-05-25T00:38:19.762869" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:19.398658" elapsed="0.364280"/>
</kw>
<msg time="2026-05-25T00:38:19.763108" level="INFO">${output} = Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  -...</msg>
<var>${output}</var>
<arg>cmd=${command}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:19.397995" elapsed="0.365164"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.763825" level="INFO">Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-FORWARD  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  10.30.170.7          10.30.171.87        

Chain DOCKER (1 references)
target     prot opt source               destination         
DROP       all  --  0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-BRIDGE (1 references)
target     prot opt source               destination         
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-CT (1 references)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED

Chain DOCKER-FORWARD (1 references)
target     prot opt source               destination         
DOCKER-CT  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-INTERNAL  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-BRIDGE  all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-INTERNAL (1 references)
target     prot opt source               destination         

Chain DOCKER-USER (1 references)
target     prot opt source               destination         </msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:19.763441" elapsed="0.000469"/>
</kw>
<doc>Break and restore controller to mininet connection via iptables.</doc>
<status status="PASS" start="2026-05-25T00:38:18.607493" elapsed="1.156501"/>
</kw>
<doc>Disconnect Mininet.</doc>
<status status="PASS" start="2026-05-25T00:38:18.607089" elapsed="1.157067"/>
</test>
<test id="s1-s4-s1-t10" name="Check No Switches After Disconnect" line="81">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:19.778077" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:19.778367" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:19.778950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:19.766554" elapsed="0.012425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.781767" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:19.779273" elapsed="0.002563"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:19.787135" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:19.784559" elapsed="0.002689">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:19.784368" elapsed="0.003028">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:19.781921" elapsed="0.005558">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:19.766157" elapsed="0.021453">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:20.798978" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:20.799544" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:20.799919" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:20.789653" elapsed="0.010322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:20.805165" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:20.800534" elapsed="0.004750"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:20.811846" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:20.808643" elapsed="0.003412">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:20.808377" elapsed="0.003807">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:20.805380" elapsed="0.006935">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:20.788698" elapsed="0.023832">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:21.820688" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:21.821043" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:21.821287" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:21.814094" elapsed="0.007238"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:21.825464" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:21.821686" elapsed="0.003965"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:21.832536" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:21.829423" elapsed="0.003213">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:21.829061" elapsed="0.003680">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:21.825741" elapsed="0.007113">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:21.813395" elapsed="0.019591">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:22.844792" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:22.845168" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:22.845477" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:22.835104" elapsed="0.010413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:22.851073" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:22.845930" elapsed="0.005268"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:22.857809" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:22.855053" elapsed="0.002865">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:22.854657" elapsed="0.003460">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:22.851351" elapsed="0.006853">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:22.834062" elapsed="0.024301">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:23.868801" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:23.869199" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:23.869471" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:23.860856" elapsed="0.008681"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:23.874201" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:23.869984" elapsed="0.004380"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:23.881906" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:23.878149" elapsed="0.003956">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:23.877840" elapsed="0.004365">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:23.874469" elapsed="0.007841">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:23.859666" elapsed="0.022807">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:24.891452" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:24.891804" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:24.891989" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:24.884363" elapsed="0.007667"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:24.898928" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:24.892389" elapsed="0.006718"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:24.905288" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:24.902727" elapsed="0.002686">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:24.902537" elapsed="0.002972">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:24.899195" elapsed="0.006422">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:24.883475" elapsed="0.022273">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:25.915733" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:25.916069" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:25.916335" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:25.908003" elapsed="0.008372"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:25.920201" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:25.916696" elapsed="0.003624"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:25.927363" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:25.923795" elapsed="0.003703">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:25.923543" elapsed="0.004083">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:25.920401" elapsed="0.007309">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:25.906864" elapsed="0.020978">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:26.942660" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:26.942912" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:26.943043" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:26.930288" elapsed="0.012782"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:26.945918" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:26.943342" elapsed="0.002646"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:26.954601" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:26.951111" elapsed="0.003655">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:26.950714" elapsed="0.004150">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:26.946050" elapsed="0.008896">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:26.929059" elapsed="0.026035">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:27.965725" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:27.966211" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:27.966463" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:27.957308" elapsed="0.009204"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:27.972227" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:27.966936" elapsed="0.005515"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:27.979748" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:27.976162" elapsed="0.003711">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:27.975904" elapsed="0.004142">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:27.972586" elapsed="0.007609">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:27.956059" elapsed="0.024337">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:28.989458" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:28.990054" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:28.990461" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:28.982540" elapsed="0.007983"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:28.994386" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:28.990882" elapsed="0.003604"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:29.000749" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</msg>
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:28.997950" elapsed="0.002901">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:28.997696" elapsed="0.003320">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:28.994569" elapsed="0.006543">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:38:28.981573" elapsed="0.019691">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:30.010600" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:30.010798" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:30.010947" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:30.003432" elapsed="0.007553"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.014617" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.011328" elapsed="0.003362"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:30.018130" elapsed="0.002545"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:30.017879" elapsed="0.002839"/>
</iter>
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:30.020980" elapsed="0.002584"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:30.020806" elapsed="0.002801"/>
</iter>
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:30.023867" elapsed="0.002326"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:30.023694" elapsed="0.002555"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:30.014772" elapsed="0.011511"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="PASS" start="2026-05-25T00:38:30.002451" elapsed="0.023893"/>
</kw>
<arg>30s</arg>
<arg>1s</arg>
<arg>FlowLib.Check No Switches In Topology</arg>
<arg>${SWITCHES}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:38:19.765129" elapsed="10.261304"/>
</kw>
<doc>Check no switches in topology.</doc>
<status status="PASS" start="2026-05-25T00:38:19.764492" elapsed="10.262070"/>
</test>
<test id="s1-s4-s1-t11" name="Reconnect Mininet" line="85">
<kw name="Disconnect Controller Mininet">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.027831" level="INFO">${rule} = OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP</msg>
<var>${rule}</var>
<arg>OUTPUT -p all --source ${ODL_SYSTEM_IP} --destination ${TOOLS_SYSTEM_IP} -j DROP</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:30.027496" elapsed="0.000362"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.028595" level="INFO">${command} = sudo /sbin/iptables -D OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP</msg>
<var>${command}</var>
<arg>'${action}'=='restore'</arg>
<arg>sudo /sbin/iptables -D ${rule}</arg>
<arg>sudo /sbin/iptables -I ${rule}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:30.028030" elapsed="0.000593"/>
</kw>
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.031022" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:30.030718" elapsed="0.000363"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:30.030696" elapsed="0.000411"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.031416" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:30.031520" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:30.031275" elapsed="0.000272"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.032120" level="INFO">Attempting to execute command "sudo /sbin/iptables -D OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.031702" elapsed="0.000478"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.032749" level="INFO">${conn_id} = 23</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:30.032362" elapsed="0.000414"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.033704" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:30.033783" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:30.033432" elapsed="0.000380"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.033978" elapsed="0.000342"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.035218" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:30.367401" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:19 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:30.034896" elapsed="0.332779"/>
</kw>
<msg time="2026-05-25T00:38:30.367773" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.034530" elapsed="0.333323"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:30.032997" elapsed="0.335005"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.368823" level="INFO">Executing command 'sudo /sbin/iptables -D OUTPUT -p all --source 10.30.170.7 --destination 10.30.171.87 -j DROP'.</msg>
<msg time="2026-05-25T00:38:30.411900" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:30.412164" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:30.412306" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:30.368278" elapsed="0.044084"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:30.412762" elapsed="0.000567"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.414484" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.413803" elapsed="0.000778"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:30.415091" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:30.414789" elapsed="0.000413"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:30.414703" elapsed="0.000583"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:30.415655" elapsed="0.000063"/>
</return>
<status status="PASS" start="2026-05-25T00:38:30.415412" elapsed="0.000382"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:30.415377" elapsed="0.000470"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:30.415923" elapsed="0.000031"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:30.423852" elapsed="0.000152"/>
</kw>
<msg time="2026-05-25T00:38:30.424049" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.422321" elapsed="0.001791"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.424308" elapsed="0.000023"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.424476" elapsed="0.000020"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:30.416673" elapsed="0.007886"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:30.029959" elapsed="0.394697"/>
</kw>
<msg time="2026-05-25T00:38:30.424709" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.029389" elapsed="0.395367"/>
</kw>
<arg>cmd=${command}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:30.028832" elapsed="0.396003"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.425278" level="INFO">${command} = sudo /sbin/iptables -L -n</msg>
<var>${command}</var>
<arg>sudo /sbin/iptables -L -n</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:30.424991" elapsed="0.000316"/>
</kw>
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.427570" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:30.427273" elapsed="0.000354"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:30.427252" elapsed="0.000403"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.427932" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:30.428034" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:30.427809" elapsed="0.000252"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.428625" level="INFO">Attempting to execute command "sudo /sbin/iptables -L -n" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.428213" elapsed="0.000458"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.429214" level="INFO">${conn_id} = 24</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:30.428829" elapsed="0.000480"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.430374" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:30.430451" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:30.430075" elapsed="0.000400"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.430633" elapsed="0.000355"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.431861" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:30.747123" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:30 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:30.431545" elapsed="0.315772"/>
</kw>
<msg time="2026-05-25T00:38:30.747403" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.431159" elapsed="0.316327"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:30.429531" elapsed="0.318069"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:30.748106" level="INFO">Executing command 'sudo /sbin/iptables -L -n'.</msg>
<msg time="2026-05-25T00:38:30.770682" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:30.770938" level="INFO">${stdout} = Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  -...</msg>
<msg time="2026-05-25T00:38:30.771082" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:30.747858" elapsed="0.023279"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:30.771553" elapsed="0.000457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.773140" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.772510" elapsed="0.000755"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:30.773748" elapsed="0.000040"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:30.773448" elapsed="0.000415"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:30.773394" elapsed="0.000522"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:30.774307" elapsed="0.000062"/>
</return>
<status status="PASS" start="2026-05-25T00:38:30.774037" elapsed="0.000409"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:30.774003" elapsed="0.000497"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:30.774574" elapsed="0.000032"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:30.780720" elapsed="0.000145"/>
</kw>
<msg time="2026-05-25T00:38:30.780910" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.780120" elapsed="0.000852"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.781132" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.781313" elapsed="0.000022"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:30.775333" elapsed="0.006065"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:30.426652" elapsed="0.354838"/>
</kw>
<msg time="2026-05-25T00:38:30.781551" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:30.426064" elapsed="0.355533"/>
</kw>
<msg time="2026-05-25T00:38:30.781712" level="INFO">${output} = Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  -...</msg>
<var>${output}</var>
<arg>cmd=${command}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:30.425513" elapsed="0.356302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.782258" level="INFO">Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-FORWARD  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (1 references)
target     prot opt source               destination         
DROP       all  --  0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-BRIDGE (1 references)
target     prot opt source               destination         
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-CT (1 references)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED

Chain DOCKER-FORWARD (1 references)
target     prot opt source               destination         
DOCKER-CT  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-INTERNAL  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-BRIDGE  all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-INTERNAL (1 references)
target     prot opt source               destination         

Chain DOCKER-USER (1 references)
target     prot opt source               destination         </msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.781988" elapsed="0.000329"/>
</kw>
<arg>restore</arg>
<doc>Break and restore controller to mininet connection via iptables.</doc>
<status status="PASS" start="2026-05-25T00:38:30.027156" elapsed="0.755219"/>
</kw>
<doc>Connect Mininet.</doc>
<status status="PASS" start="2026-05-25T00:38:30.026770" elapsed="0.755725"/>
</test>
<test id="s1-s4-s1-t12" name="Check Linear Topology After Mininet Reconnects" line="89">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:30.789226" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:30.789572" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:30.789812" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:30.784319" elapsed="0.005558"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.795827" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:30.790416" elapsed="0.005459"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:30.801038" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:30.798596" elapsed="0.002516">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.801331" elapsed="0.000024"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.801534" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.801731" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.801927" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.802125" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.802406" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:30.802215" elapsed="0.000246"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:30.802197" elapsed="0.000290"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.802716" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:30.802541" elapsed="0.000230"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:30.802525" elapsed="0.000270"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:30.803017" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:30.802847" elapsed="0.000248"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:30.802832" elapsed="0.000287"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:30.798418" elapsed="0.004749">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:30.795934" elapsed="0.007292">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:30.783969" elapsed="0.019372">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:31.813788" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:31.814037" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:31.814227" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:31.806152" elapsed="0.008146"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:31.819536" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:31.814793" elapsed="0.004821"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:31.828209" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:31.824718" elapsed="0.003640">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.828688" elapsed="0.000041"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.829028" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.829324" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.829579" elapsed="0.000024"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.829819" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.830258" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:31.829963" elapsed="0.000401"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:31.829927" elapsed="0.000477"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.830773" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:31.830489" elapsed="0.000359"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:31.830460" elapsed="0.000418"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:31.831202" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:31.830942" elapsed="0.000352"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:31.830923" elapsed="0.000416"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:31.824379" elapsed="0.007057">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:31.819710" elapsed="0.011826">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:31.805226" elapsed="0.026482">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:32.840871" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:32.841066" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '77'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}} 
 </msg>
<msg time="2026-05-25T00:38:32.841280" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:32.834097" elapsed="0.007225"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:32.845351" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:32.841652" elapsed="0.003773"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-05-25T00:38:32.851862" level="FAIL">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</msg>
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-05-25T00:38:32.849199" elapsed="0.002740">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.852267" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.852479" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.852729" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.852952" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.853152" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.853444" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:32.853263" elapsed="0.000237"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:32.853228" elapsed="0.000298"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.853753" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:32.853582" elapsed="0.000226"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:32.853566" elapsed="0.000267"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:32.854057" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:32.853886" elapsed="0.000225"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:32.853871" elapsed="0.000280"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-05-25T00:38:32.848945" elapsed="0.005276">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-05-25T00:38:32.845508" elapsed="0.008795">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:38:32.833144" elapsed="0.021263">'{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1"}]}}' does not contain '"node-id":"openflow:1"'</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.864867" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.865293" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '2973'} 
 body={"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}} 
 </msg>
<msg time="2026-05-25T00:38:33.865522" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.856698" elapsed="0.008870"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:33.869465" level="INFO">{"network-topology:network-topology":{"topology":[{"topology-id":"flow:1","node":[{"node-id":"openflow:2","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']","termination-point":[{"tp-id":"openflow:2:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:LOCAL']"},{"tp-id":"openflow:2:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:1']"},{"tp-id":"openflow:2:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:2']"},{"tp-id":"openflow:2:3","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:2']/node-connector[id='openflow:2:3']"}]},{"node-id":"openflow:3","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']","termination-point":[{"tp-id":"openflow:3:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:1']"},{"tp-id":"openflow:3:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:2']"},{"tp-id":"openflow:3:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:3']/node-connector[id='openflow:3:LOCAL']"}]},{"node-id":"openflow:1","opendaylight-topology-inventory:inventory-node-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']","termination-point":[{"tp-id":"openflow:1:2","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:2']"},{"tp-id":"openflow:1:LOCAL","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:LOCAL']"},{"tp-id":"openflow:1:1","opendaylight-topology-inventory:inventory-node-connector-ref":"/opendaylight-inventory:nodes/node[id='openflow:1']/node-connector[id='openflow:1:1']"}]}],"link":[{"link-id":"openflow:2:2","source":{"source-node":"openflow:2","source-tp":"openflow:2:2"},"destination":{"dest-tp":"openflow:1:2","dest-node":"openflow:1"}},{"link-id":"openflow:2:3","source":{"source-node":"openflow:2","source-tp":"openflow:2:3"},"destination":{"dest-tp":"openflow:3:2","dest-node":"openflow:3"}},{"link-id":"openflow:3:2","source":{"source-node":"openflow:3","source-tp":"openflow:3:2"},"destination":{"dest-tp":"openflow:2:3","dest-node":"openflow:2"}},{"link-id":"openflow:1:2","source":{"source-node":"openflow:1","source-tp":"openflow:1:2"},"destination":{"dest-tp":"openflow:2:2","dest-node":"openflow:2"}}]}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:33.865934" elapsed="0.003728"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.873290" elapsed="0.003477"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.877041" elapsed="0.003452"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.880766" elapsed="0.002766"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.883727" elapsed="0.002462"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.886402" elapsed="0.002741"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:33.889917" level="INFO">${edge} = True</msg>
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:33.889410" elapsed="0.000538"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:33.890309" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:33.890034" elapsed="0.000337"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.890010" elapsed="0.000389"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:33.890695" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:33.890456" elapsed="0.000297"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.890439" elapsed="0.000338"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:33.891066" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:33.890830" elapsed="0.000294"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.890814" elapsed="0.000333"/>
</if>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:33.873013" elapsed="0.018157"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.891570" elapsed="0.002486"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.894270" elapsed="0.002475"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.896941" elapsed="0.002750"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.899956" elapsed="0.002833"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.902991" elapsed="0.002685"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:33.906396" level="INFO">${edge} = False</msg>
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:33.905877" elapsed="0.000547"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.906744" elapsed="0.002453"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:33.906498" elapsed="0.002757"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.906478" elapsed="0.002806"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.909672" elapsed="0.002483"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:33.909342" elapsed="0.002855"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.909324" elapsed="0.002899"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.912545" elapsed="0.002649"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:33.912297" elapsed="0.002959"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.912280" elapsed="0.003006"/>
</if>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:33.891405" elapsed="0.023905"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.915738" elapsed="0.002746"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.918806" elapsed="0.003499"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.922576" elapsed="0.003379"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.926150" elapsed="0.002453"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-05-25T00:38:33.928801" elapsed="0.002427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:33.931977" level="INFO">${edge} = True</msg>
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:33.931519" elapsed="0.000486"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:33.932335" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:33.932078" elapsed="0.000316"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.932058" elapsed="0.000361"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:33.932709" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:33.932473" elapsed="0.000293"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.932458" elapsed="0.000332"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:33.933074" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:33.932843" elapsed="0.000287"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:33.932828" elapsed="0.000327"/>
</if>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:33.915555" elapsed="0.017623"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:33.869749" elapsed="0.063458"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="PASS" start="2026-05-25T00:38:33.855737" elapsed="0.077555"/>
</kw>
<arg>30s</arg>
<arg>1s</arg>
<arg>FlowLib.Check Linear Topology</arg>
<arg>${SWITCHES}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:38:30.783275" elapsed="3.150070"/>
</kw>
<doc>Check Linear Topology.</doc>
<status status="PASS" start="2026-05-25T00:38:30.782758" elapsed="3.150794"/>
</test>
<test id="s1-s4-s1-t13" name="Remove Flows And Groups After Mininet Reconnects" line="93">
<for flavor="IN RANGE">
<iter>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.944399" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.944464" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=1 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:table=0/flow=1</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.936700" elapsed="0.007839"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.952645" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.952708" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=1 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.944766" elapsed="0.008027"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.959639" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=1000 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=1000 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.959703" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=1000 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1000</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.953022" elapsed="0.006766"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-05-25T00:38:33.936544" elapsed="0.023331"/>
</iter>
<iter>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.968850" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0/flow=1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0/flow=1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.968913" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0/flow=1 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:table=0/flow=1</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.960458" elapsed="0.008537"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.975169" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.975232" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=1 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.969221" elapsed="0.006210"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.982403" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=1000 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=1000 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.982467" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=1000 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1000</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.975665" elapsed="0.006886"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-05-25T00:38:33.960104" elapsed="0.022501"/>
</iter>
<iter>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.988902" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0/flow=1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0/flow=1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.988966" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0/flow=1 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:table=0/flow=1</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.982938" elapsed="0.006113"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:33.996297" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=1 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=1 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:33.996365" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=1 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.989308" elapsed="0.007156"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:34.003011" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=1000 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=1000 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:34.003075" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=1000 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1000</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:33.996697" elapsed="0.006462"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-05-25T00:38:33.982747" elapsed="0.020468"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-05-25T00:38:33.934367" elapsed="0.068919"/>
</for>
<doc>Remove some groups and flows while network is down.</doc>
<status status="PASS" start="2026-05-25T00:38:33.933917" elapsed="0.069529"/>
</test>
<test id="s1-s4-s1-t14" name="Check Flows In Operational DS After Mininet Reconnects" line="107">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:34.047146" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:34.052266" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":101,"packets-matched":"7"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":49000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":8000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"or... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:34.052781" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:34.005886" elapsed="0.046957"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:34.057706" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":101,"packets-matched":"7"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":49000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":8000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"#UF$TABLE*0-62","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"7","byte-count":"535","duration":{"second":0,"nanosecond":38000000}},"flags":"SEND_FLOW_REM"},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":49000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:32.961Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"c6:f8:61:3b:5b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":18000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"a2:1a:ec:30:3c:32","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":28000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:b3:97:14:41:1d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":28000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":20,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":20,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":19,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":19,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":19,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":18,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":18,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":18,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":18,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":18,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":18,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":18,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:33.066Z"}},{"id":"openflow:1","flow-node-inventory:port-number":45818,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"16","active-flows":101,"packets-matched":"6"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*0-64","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"6","byte-count":"450","duration":{"second":0,"nanosecond":30000000}},"flags":"SEND_FLOW_REM"},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":31000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:32.972Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ee:6e:f1:3f:cd:61","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":47000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"52:ba:51:fd:6b:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":36000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"8e:c3:ef:05:fb:03","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":48000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":17,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":17,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":17,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":17,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":20,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":20,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":19,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":19,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":18,"nanosecond":917000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":18,"nanosecond":917000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":18,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":18,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":18,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":17,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":17,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":17,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":17,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":17,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":17,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":17,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":17,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":17,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:33.061Z"}},{"id":"openflow:2","flow-node-inventory:port-number":45838,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"27","active-flows":101,"packets-matched":"11"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":99000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":99000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":99000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"#UF$TABLE*0-63","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"11","byte-count":"845","duration":{"second":0,"nanosecond":43000000}},"flags":"SEND_FLOW_REM"},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":79000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":101000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:32.975Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"ea:bc:a1:f3:eb:05","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":23000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:ad:30:2f:c2:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":14000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"76:72:17:c6:92:3e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":24000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"76:b1:67:39:f7:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":23000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":17,"nanosecond":401000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":19,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":19,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":19,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":18,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":17,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":17,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:33.058Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:34.053364" elapsed="0.010561"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-05-25T00:38:34.067314" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-05-25T00:38:34.067401" level="INFO">${count} = 303</msg>
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="PASS" start="2026-05-25T00:38:34.064132" elapsed="0.003294"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<msg time="2026-05-25T00:38:34.068019" level="FAIL">303 != 300</msg>
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="FAIL" start="2026-05-25T00:38:34.067632" elapsed="0.000461">303 != 300</status>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:38:34.005363" elapsed="0.062844">303 != 300</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:35.112840" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:35.114336" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":101,"packets-matched":"7"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":49000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":8000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"or... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:35.114714" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:35.070115" elapsed="0.044643"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:35.119403" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":101,"packets-matched":"7"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":49000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":8000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"#UF$TABLE*0-62","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"7","byte-count":"535","duration":{"second":0,"nanosecond":38000000}},"flags":"SEND_FLOW_REM"},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":6000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":38000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":36000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":826000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":49000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":827000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":886000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":16,"nanosecond":879000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":20000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":17000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:32.961Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"c6:f8:61:3b:5b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":18000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"a2:1a:ec:30:3c:32","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":28000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:b3:97:14:41:1d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":28000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":20,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":20,"nanosecond":698000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":20,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":20,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":20,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":19,"nanosecond":890000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":19,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":19,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":19,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":17,"nanosecond":383000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":19,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":19,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":19,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":19,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":19,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":19,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":19,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":19,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":19,"nanosecond":385000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":18,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":18,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":18,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":18,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":18,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":18,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":18,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":18,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":18,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":18,"nanosecond":879000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":18,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":18,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":18,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":18,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":17,"nanosecond":887000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":17,"nanosecond":377000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":17,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:33.066Z"}},{"id":"openflow:1","flow-node-inventory:port-number":45818,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"16","active-flows":101,"packets-matched":"6"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"#UF$TABLE*0-64","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"6","byte-count":"450","duration":{"second":0,"nanosecond":30000000}},"flags":"SEND_FLOW_REM"},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":31000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":91000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":10000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":30000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":11000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:32.972Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ee:6e:f1:3f:cd:61","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":47000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"52:ba:51:fd:6b:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":36000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"8e:c3:ef:05:fb:03","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":48000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":17,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":17,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":17,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":17,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":20,"nanosecond":728000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":20,"nanosecond":727000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":20,"nanosecond":417000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":20,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":20,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":20,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":19,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":19,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":19,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":19,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":19,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":19,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":19,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":19,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":19,"nanosecond":414000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":18,"nanosecond":917000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":18,"nanosecond":917000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":18,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":18,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":18,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":18,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":18,"nanosecond":416000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":18,"nanosecond":415000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":17,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":17,"nanosecond":916000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":17,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":17,"nanosecond":915000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":17,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":17,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":17,"nanosecond":914000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":17,"nanosecond":396000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":17,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":17,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":17,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":17,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:33.061Z"}},{"id":"openflow:2","flow-node-inventory:port-number":45838,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"27","active-flows":101,"packets-matched":"11"},"flow":[{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":99000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":99000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":99000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"#UF$TABLE*0-63","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"11","byte-count":"845","duration":{"second":0,"nanosecond":43000000}},"flags":"SEND_FLOW_REM"},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":79000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":80000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":14000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":1000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":101000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":15000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":5000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"1","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.1/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":1}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":43000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":44000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:32.975Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"ea:bc:a1:f3:eb:05","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":23000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:ad:30:2f:c2:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":14000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"76:72:17:c6:92:3e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":24000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"76:b1:67:39:f7:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":21,"nanosecond":23000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":17,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":20,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":17,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":17,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":20,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":17,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":17,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":17,"nanosecond":401000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":1000}}],"watch_group":1000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":1,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":19,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":19,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":19,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":19,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":1000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":1000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":17,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":19,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":19,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":19,"nanosecond":408000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":19,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":18,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":18,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":18,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":18,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":18,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":18,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":18,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":17,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":17,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":17,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":17,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":17,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:33.058Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:35.115161" elapsed="0.010409"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-05-25T00:38:35.130482" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-05-25T00:38:35.130619" level="INFO">${count} = 303</msg>
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="PASS" start="2026-05-25T00:38:35.125908" elapsed="0.004751"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<msg time="2026-05-25T00:38:35.131527" level="FAIL">303 != 300</msg>
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="FAIL" start="2026-05-25T00:38:35.130980" elapsed="0.000646">303 != 300</status>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:38:35.069093" elapsed="0.062698">303 != 300</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:36.189811" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:36.193224" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":100,"packets-matched":"7"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"#UF$TABLE*0-62","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"7","byte-count":"535","duration":{"second":3,"nanosecond":31000000}},"flags":"SEND_FLOW_REM"},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-acti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:36.193654" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:36.133201" elapsed="0.060498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.198988" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":100,"packets-matched":"7"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"#UF$TABLE*0-62","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"7","byte-count":"535","duration":{"second":3,"nanosecond":31000000}},"flags":"SEND_FLOW_REM"},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":949000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:35.979Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"c6:f8:61:3b:5b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":7000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"a2:1a:ec:30:3c:32","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":17000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:b3:97:14:41:1d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":17000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":23,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":23,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":22,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":22,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":22,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":21,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":21,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":21,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":21,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":21,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":21,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":21,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:36.043Z"}},{"id":"openflow:1","flow-node-inventory:port-number":45818,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"16","active-flows":100,"packets-matched":"6"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"#UF$TABLE*0-64","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"6","byte-count":"450","duration":{"second":3,"nanosecond":21000000}},"flags":"SEND_FLOW_REM"},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":22000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:36.004Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ee:6e:f1:3f:cd:61","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":28000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"52:ba:51:fd:6b:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":17000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"8e:c3:ef:05:fb:03","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":29000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":20,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":20,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":20,"nanosecond":401000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":20,"nanosecond":401000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":22,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":22,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":21,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":21,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":21,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":21,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":21,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":21,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":21,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":21,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":21,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":21,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":21,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":21,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":21,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":21,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":20,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":20,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":20,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":20,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":20,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":20,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":20,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:36.043Z"}},{"id":"openflow:2","flow-node-inventory:port-number":45838,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"27","active-flows":100,"packets-matched":"11"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":93000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":91000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":91000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":91000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"#UF$TABLE*0-63","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"11","byte-count":"845","duration":{"second":3,"nanosecond":35000000}},"flags":"SEND_FLOW_REM"},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":71000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":35000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":35000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":35000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:36.005Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"ea:bc:a1:f3:eb:05","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":0},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:ad:30:2f:c2:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":991000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"76:72:17:c6:92:3e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":1000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"76:b1:67:39:f7:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":0},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":20,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":21,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":21,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":20,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:36.043Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:36.194110" elapsed="0.011341"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.209564" level="INFO">Item found from container 300 times.</msg>
<msg time="2026-05-25T00:38:36.209666" level="INFO">${count} = 300</msg>
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="PASS" start="2026-05-25T00:38:36.205858" elapsed="0.003834"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="PASS" start="2026-05-25T00:38:36.209951" elapsed="0.000366"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="PASS" start="2026-05-25T00:38:36.132567" elapsed="0.077822"/>
</kw>
<arg>30s</arg>
<arg>1s</arg>
<arg>FlowLib.Check Number Of Flows</arg>
<arg>${less_flows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:38:34.004525" elapsed="2.205917"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:38:34.003805" elapsed="2.206788"/>
</test>
<test id="s1-s4-s1-t15" name="Check Groups In Operational DS After Mininet Reconnects" line="111">
<kw name="Check Number Of Groups" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:36.247277" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:36.248744" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Transfer-Encoding': 'chunked'} 
 body={"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":100,"packets-matched":"7"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"#UF$TABLE*0-62","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"7","byte-count":"535","duration":{"second":3,"nanosecond":31000000}},"flags":"SEND_FLOW_REM"},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-acti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-05-25T00:38:36.249331" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-05-25T00:38:36.211923" elapsed="0.037476"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.255012" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":45834,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"17","active-flows":100,"packets-matched":"7"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":42000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"#UF$TABLE*0-62","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"7","byte-count":"535","duration":{"second":3,"nanosecond":31000000}},"flags":"SEND_FLOW_REM"},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":31000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":29000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":13000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":999000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":949000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":946000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":945000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":936000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":930000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s3","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:35.979Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"c6:f8:61:3b:5b:46","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":7000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"a2:1a:ec:30:3c:32","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":17000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:b3:97:14:41:1d","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s3-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":17000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":23,"nanosecond":700000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":23,"nanosecond":699000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":23,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":23,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":23,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":22,"nanosecond":891000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":22,"nanosecond":886000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":22,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":22,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":20,"nanosecond":384000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":22,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":22,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":22,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":22,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":22,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":22,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":22,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":22,"nanosecond":387000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":22,"nanosecond":386000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":21,"nanosecond":889000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":21,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":21,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":21,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":21,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":21,"nanosecond":884000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":21,"nanosecond":883000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":21,"nanosecond":882000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":21,"nanosecond":881000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":21,"nanosecond":880000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":21,"nanosecond":389000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":21,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":21,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":21,"nanosecond":388000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":20,"nanosecond":888000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":20,"nanosecond":378000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":20,"nanosecond":885000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:36.043Z"}},{"id":"openflow:1","flow-node-inventory:port-number":45818,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"16","active-flows":100,"packets-matched":"6"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"#UF$TABLE*0-64","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"6","byte-count":"450","duration":{"second":3,"nanosecond":21000000}},"flags":"SEND_FLOW_REM"},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":82000000}},"flags":""},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":22000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":21000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":2000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":1000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s1","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:36.004Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ee:6e:f1:3f:cd:61","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":28000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"52:ba:51:fd:6b:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":17000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"8e:c3:ef:05:fb:03","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s1-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":29000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":20,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":20,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":20,"nanosecond":401000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":20,"nanosecond":401000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":23,"nanosecond":724000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":23,"nanosecond":723000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":23,"nanosecond":413000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":23,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":22,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":22,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":22,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":22,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":22,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":22,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":21,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":21,"nanosecond":913000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":21,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":21,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":21,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":21,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":21,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":21,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":21,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":21,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":21,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":21,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":21,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":21,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":21,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":21,"nanosecond":412000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":21,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":20,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":20,"nanosecond":912000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":20,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":20,"nanosecond":911000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":20,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":20,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":20,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":20,"nanosecond":392000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":20,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":20,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:36.043Z"}},{"id":"openflow:2","flow-node-inventory:port-number":45838,"flow-node-inventory:table":[{"id":62,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":28,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":224,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":181,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":147,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":106,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":61,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":27,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":1,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":223,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":182,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":148,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":105,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":60,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":30,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"27","active-flows":100,"packets-matched":"11"},"flow":[{"id":"69","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.69/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":69}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":93000000}},"flags":""},{"id":"60","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.60/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":60}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":91000000}},"flags":""},{"id":"68","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.68/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":68}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":91000000}},"flags":""},{"id":"67","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.67/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":67}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":91000000}},"flags":""},{"id":"66","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.66/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":66}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"65","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.65/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":65}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"64","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.64/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":64}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"63","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.63/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":63}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"62","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.62/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":62}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"61","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.61/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":61}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"#UF$TABLE*0-63","table_id":0,"priority":0,"cookie_mask":"0","idle-timeout":0,"cookie":"10","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":65535,"output-node-connector":"CONTROLLER"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"11","byte-count":"845","duration":{"second":3,"nanosecond":35000000}},"flags":"SEND_FLOW_REM"},{"id":"100","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.100/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":100}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"71","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.71/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":71}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"70","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.70/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":70}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"79","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.79/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":79}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"78","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.78/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":78}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"77","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.77/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":77}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"76","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.76/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":76}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"75","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.75/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":75}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"74","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.74/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":74}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"73","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.73/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":73}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"72","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.72/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":72}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"82","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.82/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":82}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"81","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.81/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":81}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"80","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.80/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":80}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":72000000}},"flags":""},{"id":"89","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.89/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":89}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":71000000}},"flags":""},{"id":"88","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.88/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":88}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"87","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.87/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":87}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"86","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.86/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":86}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"85","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.85/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":85}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"84","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.84/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":84}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"83","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.83/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":83}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"19","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.19/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":19}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"18","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.18/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":18}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"17","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.17/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":17}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"16","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.16/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":16}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"15","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.15/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":15}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":36000000}},"flags":""},{"id":"14","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.14/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":14}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":35000000}},"flags":""},{"id":"2","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.2/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":2}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":35000000}},"flags":""},{"id":"93","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.93/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":93}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":35000000}},"flags":""},{"id":"92","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.92/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":92}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"91","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.91/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":91}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"90","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.90/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":90}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"13","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.13/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":13}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"12","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.12/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":12}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"11","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.11/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":11}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"99","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.99/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":99}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"10","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.10/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":10}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"98","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.98/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":98}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"97","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.97/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":97}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"96","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.96/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":96}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"95","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.95/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":95}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"94","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.94/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":94}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"29","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.29/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":29}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"28","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.28/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":28}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"27","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.27/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":27}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"26","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.26/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":26}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"25","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.25/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":25}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"9","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.9/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":9}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"8","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.8/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":8}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"7","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.7/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":7}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"6","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.6/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":6}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":7000000}},"flags":""},{"id":"5","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.5/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":5}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"4","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.4/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":4}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"3","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.3/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":3}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"24","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.24/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":24}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"23","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.23/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":23}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"22","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.22/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":22}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"21","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.21/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":21}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":6000000}},"flags":""},{"id":"20","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.20/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":20}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"39","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.39/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":39}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"38","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.38/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":38}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"37","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.37/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":37}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"36","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.36/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":36}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"35","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.35/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":35}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"34","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.34/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":34}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"33","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.33/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":33}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"32","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.32/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":32}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"31","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.31/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":31}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"30","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.30/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":30}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"49","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.49/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":49}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"48","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.48/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":48}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"47","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.47/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":47}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"46","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.46/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":46}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"45","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.45/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":45}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"44","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.44/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":44}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"43","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.43/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":43}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"42","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.42/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":42}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"41","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.41/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":41}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"40","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.40/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":40}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"59","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.59/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":59}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"58","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.58/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":58}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"57","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.57/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":57}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"56","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.56/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":56}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"55","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.55/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":55}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"54","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.54/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":54}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":997000000}},"flags":""},{"id":"53","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.53/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":53}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""},{"id":"52","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.52/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":52}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""},{"id":"51","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.51/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":51}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""},{"id":"50","table_id":0,"priority":100,"cookie_mask":"0","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.10.50/32"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"group-action":{"group-id":50}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":993000000}},"flags":""}]},{"id":226,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":179,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":149,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":104,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":59,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":29,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":225,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":180,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":150,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":103,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":66,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":32,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":220,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":185,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":151,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":102,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":65,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":31,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":253,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":219,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":186,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":152,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":101,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":64,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":34,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":252,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":222,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":183,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":153,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":100,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":63,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":33,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":251,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":221,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":184,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":154,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":99,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":54,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":20,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":250,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":216,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":189,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":155,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":129,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":114,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":53,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":19,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":249,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":215,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":190,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":156,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":130,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":113,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":52,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":22,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":248,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":218,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":187,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":157,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":112,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":51,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":21,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":247,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":217,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":188,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":158,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":128,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":111,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":58,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":24,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":246,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":212,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":193,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":159,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":110,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":57,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":23,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":245,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":211,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":194,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":160,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":109,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":56,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":26,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":244,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":214,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":191,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":161,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":108,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":55,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":25,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":243,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":213,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":192,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":162,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":107,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":77,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":43,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":17,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":239,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":198,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":164,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":138,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":119,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":89,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":78,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":44,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":18,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":240,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":197,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":163,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":137,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":120,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":90,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":75,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":45,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":15,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":241,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":196,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":166,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":136,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":121,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":87,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":76,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":46,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":16,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":242,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":195,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":165,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":135,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":122,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":88,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":81,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":47,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":13,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":235,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":202,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":168,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":134,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":115,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":85,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":82,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":48,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":14,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":236,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":201,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":167,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":133,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":116,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":86,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":79,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":49,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":11,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":237,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":200,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":170,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":132,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":117,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":83,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":80,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":50,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":12,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":238,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":199,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":169,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":131,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":118,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":84,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":69,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":35,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":9,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":231,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":206,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":172,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":146,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":127,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":97,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":70,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":36,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":10,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":232,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":205,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":171,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":145,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":98,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":67,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":37,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":7,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":233,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":204,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":174,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":144,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":95,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":68,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":38,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":8,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":234,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":203,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":173,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":143,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":96,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":73,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":39,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":5,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":227,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":210,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":176,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":142,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":123,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":93,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":74,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":40,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":6,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":228,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":209,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":175,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":141,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":124,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":94,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":71,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":41,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":3,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":229,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":208,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":178,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":140,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":125,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":91,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":72,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":42,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":4,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":230,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":207,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":177,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":139,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":126,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}},{"id":92,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":0,"packets-matched":"0"}}],"opendaylight-group-statistics:group-features":{"max-groups":[4294967040],"group-types-supported":["opendaylight-group-types:group-all","opendaylight-group-types:group-ff","opendaylight-group-types:group-select","opendaylight-group-types:group-indirect"],"group-capabilities-supported":["opendaylight-group-types:chaining","opendaylight-group-types:select-weight","opendaylight-group-types:select-liveness"],"actions":[67076097]},"flow-node-inventory:manufacturer":"Nicira, Inc.","flow-node-inventory:description":"s2","flow-node-inventory:hardware":"Open vSwitch","flow-node-inventory:switch-features":{"max_tables":254,"capabilities":["flow-node-inventory:flow-feature-capability-table-stats","flow-node-inventory:flow-feature-capability-group-stats","flow-node-inventory:flow-feature-capability-queue-stats","flow-node-inventory:flow-feature-capability-flow-stats","flow-node-inventory:flow-feature-capability-port-stats"],"max_buffers":0},"flow-node-inventory:snapshot-gathering-status-start":{"begin":"2026-05-25T00:38:36.005Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"ea:bc:a1:f3:eb:05","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth3","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":0},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:ad:30:2f:c2:4e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2","flow-node-inventory:current-feature":"","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":0,"flow-node-inventory:state":{"live":false,"blocked":false,"link-down":true},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"PORT-DOWN","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"0","received":"0"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":991000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"76:72:17:c6:92:3e","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth2","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"11"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":1000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"76:b1:67:39:f7:e8","flow-node-inventory:peer-features":"","flow-node-inventory:name":"s2-eth1","flow-node-inventory:current-feature":"ten-gb-fd copper","flow-node-inventory:supported":"","flow-node-inventory:advertised-features":"","flow-node-inventory:current-speed":10000000,"flow-node-inventory:state":{"live":true,"blocked":false,"link-down":false},"flow-node-inventory:maximum-speed":0,"flow-node-inventory:configuration":"","opendaylight-port-statistics:flow-capable-node-connector-statistics":{"receive-drops":"0","transmit-drops":"0","receive-frame-error":"0","collision-count":"0","packets":{"transmitted":"11","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":24,"nanosecond":0},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.87","flow-node-inventory:serial-number":"None","flow-node-inventory:group":[{"group-id":56,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":56000}}],"watch_group":56000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":56,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":22000}}],"watch_group":22000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":22,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":99000}}],"watch_group":99000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":99,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":34000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":89000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":60000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":91000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":57000}}],"watch_group":57000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":57,"duration":{"second":20,"nanosecond":903000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":23000}}],"watch_group":23000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":23,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":14000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":98000}}],"watch_group":98000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":98,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":56000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":56000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":85000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":54000}}],"watch_group":54000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":54,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":24000}}],"watch_group":24000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":24,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":36000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":87000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":59000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":25000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":43000,"duration":{"second":23,"nanosecond":722000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":55000}}],"watch_group":55000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":55,"duration":{"second":20,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":25,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":25000}}],"watch_group":25000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":25,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":100000}}],"watch_group":100000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":100,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":58000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":86000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":60,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":60000}}],"watch_group":60000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":60,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":26000}}],"watch_group":26000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":26,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":41000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":95000}}],"watch_group":95000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":95,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":82000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":61000}}],"watch_group":61000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":61,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":27000}}],"watch_group":27000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":27,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":94000}}],"watch_group":94000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":94,"duration":{"second":20,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":98000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":98000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":27000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":27000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":57000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":57000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":16000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":83000,"duration":{"second":23,"nanosecond":411000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":58,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":58000}}],"watch_group":58000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":58,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":28000}}],"watch_group":28000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":28,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":97000}}],"watch_group":97000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":97,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":100000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":100000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":59,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":59000}}],"watch_group":59000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":59,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":38000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":29000}}],"watch_group":29000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":29,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":96000}}],"watch_group":96000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":96,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":84000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":64000}}],"watch_group":64000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":64,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":30000}}],"watch_group":30000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":30,"duration":{"second":20,"nanosecond":405000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":4000}}],"watch_group":4000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":4,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":91,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":91000}}],"watch_group":91000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":91,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":7000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":29000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":29000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":65000}}],"watch_group":65000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":65,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":31000}}],"watch_group":31000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":31,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":5000}}],"watch_group":5000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":5,"duration":{"second":20,"nanosecond":404000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":90000}}],"watch_group":90000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":90,"duration":{"second":20,"nanosecond":400000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":18000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":62000}}],"watch_group":62000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":62,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":65000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":65000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":32000}}],"watch_group":32000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":32,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":2000}}],"watch_group":2000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":2,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":93000}}],"watch_group":93000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":93,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":64000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":64000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":63000}}],"watch_group":63000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":63,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":33000}}],"watch_group":33000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":33,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":3000}}],"watch_group":3000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":3,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":80000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":9000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":92000}}],"watch_group":92000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":92,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":5000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":5000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":20000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":81000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":97000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":97000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":31000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":31000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":68000}}],"watch_group":68000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":68,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":11000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":34,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":34000}}],"watch_group":34000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":34,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":78000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":87,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":87000}}],"watch_group":87000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":87,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":93000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":93000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":63000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":63000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":69000}}],"watch_group":69000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":69,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":35000}}],"watch_group":35000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":35,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":33000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":33000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":79000,"duration":{"second":22,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":86,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":86000}}],"watch_group":86000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":86,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":62000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":62000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":66000}}],"watch_group":66000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":66,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":77000,"duration":{"second":22,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":36,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":36000}}],"watch_group":36000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":36,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":89,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":89000}}],"watch_group":89000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":89,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":22000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":22000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":95000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":95000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":67000}}],"watch_group":67000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":67,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":37000}}],"watch_group":37000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":37,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":88000}}],"watch_group":88000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":88,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":61000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":61000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":3000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":3000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":73000}}],"watch_group":73000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":73,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":39000}}],"watch_group":39000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":39,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":13000}}],"watch_group":13000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":13,"duration":{"second":20,"nanosecond":399000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":74000,"duration":{"second":22,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":15000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":44000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":45000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":68000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":68000,"duration":{"second":22,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":72000}}],"watch_group":72000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":72,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":38,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":38000}}],"watch_group":38000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":38,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":75000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":12000}}],"watch_group":12000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":12,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":35000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":35000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":24000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":24000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":90000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":90000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":71000}}],"watch_group":71000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":71,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":41,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":41000}}],"watch_group":41000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":41,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":42000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":11,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":11000}}],"watch_group":11000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":11,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":92000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":92000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":46000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":67000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":67000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":70000}}],"watch_group":70000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":70,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":76000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":40000}}],"watch_group":40000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":40,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":13000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":13000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":10000}}],"watch_group":10000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":10,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":88000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":88000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":47000,"duration":{"second":22,"nanosecond":407000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":66000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":66000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":77,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":77000}}],"watch_group":77000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":77,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":43,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":43000}}],"watch_group":43000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":43,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":9,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":9000}}],"watch_group":9000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":9,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":99000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":99000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":26000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":26000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":70000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":70000,"duration":{"second":22,"nanosecond":406000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":76,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":76000}}],"watch_group":76000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":76,"duration":{"second":21,"nanosecond":910000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":42,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":42000}}],"watch_group":42000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":42,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":8000}}],"watch_group":8000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":8,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":37000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":37000,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":49000,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":71000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":71000,"duration":{"second":21,"nanosecond":909000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":48000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":75,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":75000}}],"watch_group":75000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":75,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":45,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":45000}}],"watch_group":45000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":45,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":7,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":7000}}],"watch_group":7000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":7,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":39000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":39000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":73000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":73000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":69000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":69000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":17000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":28000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":28000,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":74,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":74000}}],"watch_group":74000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":74,"duration":{"second":21,"nanosecond":908000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":44,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":44000}}],"watch_group":44000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":44,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":6000}}],"watch_group":6000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":6,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":40000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":40000,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":81,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":81000}}],"watch_group":81000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":81,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":47,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":47000}}],"watch_group":47000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":47,"duration":{"second":21,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":21000}}],"watch_group":21000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":21,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":8000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":8000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":19000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":96000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":96000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":80,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":80000}}],"watch_group":80000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":80,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":46,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":46000}}],"watch_group":46000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":46,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":20,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":20000}}],"watch_group":20000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":20,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":52000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":6000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":6000,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":79,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":79000}}],"watch_group":79000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":79,"duration":{"second":21,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":49,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":49000}}],"watch_group":49000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":49,"duration":{"second":21,"nanosecond":410000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":19,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":19000}}],"watch_group":19000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":19,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":50000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":72000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":72000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":30000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":30000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":78,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":78000}}],"watch_group":78000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":78,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":48,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":48000}}],"watch_group":48000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":48,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":18,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":18000}}],"watch_group":18000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":18,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":51000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":85,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":85000}}],"watch_group":85000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":85,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":55000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":55000,"duration":{"second":21,"nanosecond":409000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":51,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":51000}}],"watch_group":51000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":51,"duration":{"second":20,"nanosecond":907000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":17,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":17000}}],"watch_group":17000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":17,"duration":{"second":20,"nanosecond":906000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":21000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":21000,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":4000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":4000,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":84,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":84000}}],"watch_group":84000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":84,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":50,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":50000}}],"watch_group":50000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":50,"duration":{"second":20,"nanosecond":905000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":16,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":16000}}],"watch_group":16000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":16,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":10000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":10000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":54000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":54000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":83,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":83000}}],"watch_group":83000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":83,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":32000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":32000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":53000}}],"watch_group":53000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":53,"duration":{"second":20,"nanosecond":398000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":15,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":15000}}],"watch_group":15000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":15,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":2000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":2000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":82,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":82000}}],"watch_group":82000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":82,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":52,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":52000}}],"watch_group":52000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":52,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":14,"group-type":"group-ff","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"group-action":{"group-id":14000}}],"watch_group":14000,"weight":0}]},"opendaylight-group-statistics:group-statistics":{"ref-count":1,"byte-count":"0","packet-count":"0","group-id":14,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":53000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":53000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":12000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":12000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":23000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":23000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}},{"group-id":94000,"group-type":"group-select","buckets":{"bucket":[{"bucket-id":0,"watch_port":4294967295,"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}],"watch_group":4294967295,"weight":1}]},"opendaylight-group-statistics:group-statistics":{"ref-count":0,"byte-count":"0","packet-count":"0","group-id":94000,"duration":{"second":20,"nanosecond":904000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-05-25T00:38:36.043Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:36.249943" elapsed="0.011923"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.265768" level="INFO">Item found from container 594 times.</msg>
<msg time="2026-05-25T00:38:36.265865" level="INFO">${group_count} = 594</msg>
<var>${group_count}</var>
<arg>${resp.text}</arg>
<arg>"group-type"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="PASS" start="2026-05-25T00:38:36.262284" elapsed="0.003606"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${group_count}</arg>
<arg>${groups}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="PASS" start="2026-05-25T00:38:36.266137" elapsed="0.000367"/>
</kw>
<arg>${less_groups}</arg>
<doc>Check number of groups in the inventory.</doc>
<status status="PASS" start="2026-05-25T00:38:36.211578" elapsed="0.054997"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:38:36.210930" elapsed="0.055820"/>
</test>
<test id="s1-s4-s1-t16" name="Check Flows In Switch After Mininet Reconnects" line="115">
<kw name="Check Flows In Mininet" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:36.268386" elapsed="0.000150"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:36.268126" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:36.268101" elapsed="0.000501"/>
</if>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.269065" level="INFO">${cmd} = dpctl dump-aggregate -O OpenFlow13</msg>
<var>${cmd}</var>
<arg>dpctl dump-aggregate -O OpenFlow13</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:36.268795" elapsed="0.000298"/>
</kw>
<kw name="Send Mininet Command" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:36.269982" elapsed="0.000136"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:36.269758" elapsed="0.000397"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:36.269739" elapsed="0.000442"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.274110" level="INFO">dpctl dump-aggregate -O OpenFlow13</msg>
<arg>${cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:38:36.270340" elapsed="0.003945"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.358609" level="INFO">*** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=6 byte_count=450 flow_count=100
*** s2 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=11 byte_count=845 flow_count=100
*** s3 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=7 byte_count=535 flow_count=100
mininet&gt;</msg>
<msg time="2026-05-25T00:38:36.358884" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=6 byte_count=450 flow_count=100
*** s2 ------------------------...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:38:36.274734" elapsed="0.084184"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:36.359009" elapsed="0.000057"/>
</return>
<msg time="2026-05-25T00:38:36.359224" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=6 byte_count=450 flow_count=100
*** s2 ------------------------...</msg>
<var>${output}</var>
<arg>${mininet_conn}</arg>
<arg>${cmd}</arg>
<doc>Sends Command dpctl dump-aggregate -O OpenFlow13 to Mininet session 20 and returns read buffer response.</doc>
<status status="PASS" start="2026-05-25T00:38:36.269450" elapsed="0.089826"/>
</kw>
<kw name="Get Regexp Matches" owner="String">
<msg time="2026-05-25T00:38:36.359818" level="INFO">${flows} = ['100', '100', '100']</msg>
<var>${flows}</var>
<arg>${output}</arg>
<arg>(?&lt;=flow_count\=).*?(?=\r)</arg>
<doc>Returns a list of all non-overlapping matches in the given string.</doc>
<status status="PASS" start="2026-05-25T00:38:36.359510" elapsed="0.000335"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.360480" level="INFO">${total_flows} = 300</msg>
<var>${total_flows}</var>
<arg>sum(map(int, ${flows}))</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:36.360011" elapsed="0.000497"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<arg>${total_flows}</arg>
<arg>${flow_count}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-05-25T00:38:36.360745" elapsed="0.000337"/>
</kw>
<arg>${mininet_conn_id}</arg>
<arg>${less_flows}</arg>
<doc>Sync with mininet to match exact number of flows</doc>
<status status="PASS" start="2026-05-25T00:38:36.267782" elapsed="0.093364"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:38:36.267110" elapsed="0.094176"/>
</test>
<test id="s1-s4-s1-t17" name="Restart Controller" line="119">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Stop_Members_From_List_Or_All" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.368373" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:36.367835" elapsed="0.000577"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.369000" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:36.368619" elapsed="0.000415"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:36.369094" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:38:36.369338" level="INFO">${stop_index_list} = [1]</msg>
<var>${stop_index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:36.367353" elapsed="0.002019"/>
</kw>
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.370442" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:36.370024" elapsed="0.000448"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.371126" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:36.370753" elapsed="0.000409"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:36.371216" elapsed="0.000047"/>
</return>
<msg time="2026-05-25T00:38:36.371410" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${original_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:36.369637" elapsed="0.001800"/>
</kw>
<kw name="Run_Bash_Command_On_List_Or_All" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.373105" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:36.372626" elapsed="0.000514"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.373699" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:36.373341" elapsed="0.000392"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:36.373787" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:38:36.373978" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:36.372185" elapsed="0.001823"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:36.375299" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:38:36.374957" elapsed="0.000370"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.376157" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:36.376276" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:36.376021" elapsed="0.000284"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:36.380265" elapsed="0.000071"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:36.379365" elapsed="0.001056"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:36.379152" elapsed="0.001350"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.380823" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:36.381061" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:36.380697" elapsed="0.000474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.382191" level="INFO">Attempting to execute command "/tmp/karaf-0.22.3-SNAPSHOT/bin/stop" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:36.381452" elapsed="0.000843"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.383404" level="INFO">${conn_id} = 25</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:36.382568" elapsed="0.000946"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:36.385751" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:36.385932" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:36.385332" elapsed="0.000646"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:36.386777" elapsed="0.000662"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.388984" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:36.729063" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:30 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:36.388640" elapsed="0.340788"/>
</kw>
<msg time="2026-05-25T00:38:36.729649" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:36.388154" elapsed="0.341644"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:36.383964" elapsed="0.346036"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:36.731392" level="INFO">Executing command '/tmp/karaf-0.22.3-SNAPSHOT/bin/stop'.</msg>
<msg time="2026-05-25T00:38:37.120160" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:37.120987" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:37.121521" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:36.730662" elapsed="0.391162"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:37.123021" elapsed="0.001043"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.127419" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:37.125630" elapsed="0.002024"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:37.128826" elapsed="0.000084"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:37.128130" elapsed="0.000929"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:37.128068" elapsed="0.001214"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:37.130088" elapsed="0.000114"/>
</return>
<status status="PASS" start="2026-05-25T00:38:37.129556" elapsed="0.000921"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:37.129509" elapsed="0.001177"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:37.130890" elapsed="0.000041"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:37.138857" elapsed="0.000168"/>
</kw>
<msg time="2026-05-25T00:38:37.139855" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.137954" elapsed="0.002022"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.141008" elapsed="0.000061"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.142068" elapsed="0.000061"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:37.131834" elapsed="0.010387"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:36.378218" elapsed="0.764260"/>
</kw>
<msg time="2026-05-25T00:38:37.142533" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:36.377545" elapsed="0.765040"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:36.376982" elapsed="0.765686"/>
</kw>
<msg time="2026-05-25T00:38:37.142735" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:36.376465" elapsed="0.766328"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:37.146369" elapsed="0.000154"/>
</kw>
<msg time="2026-05-25T00:38:37.146569" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.145704" elapsed="0.000929"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.146797" elapsed="0.000023"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.146964" elapsed="0.000020"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:37.143184" elapsed="0.003862"/>
</kw>
<msg time="2026-05-25T00:38:37.147186" level="INFO">${output} = </msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:38:36.375552" elapsed="0.771666"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.147771" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:37.147483" elapsed="0.000343"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:37.147887" elapsed="0.000042"/>
</return>
<arg>command=${command}</arg>
<arg>member_index=${index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:38:36.374493" elapsed="0.773608"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-05-25T00:38:36.374272" elapsed="0.773869"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-05-25T00:38:36.374083" elapsed="0.774095"/>
</for>
<arg>command=${NODE_STOP_COMMAND}</arg>
<arg>member_index_list=${member_index_list}</arg>
<doc>Cycle through indices (or all), run command on each.</doc>
<status status="PASS" start="2026-05-25T00:38:36.371664" elapsed="0.776732"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.148989" level="INFO">${updated_index_list} = [1]</msg>
<var>${updated_index_list}</var>
<arg>@{index_list}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:37.148594" elapsed="0.000430"/>
</kw>
<kw name="Remove Values From List" owner="Collections">
<arg>${updated_index_list}</arg>
<arg>@{stop_index_list}</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-05-25T00:38:37.149257" elapsed="0.000297"/>
</kw>
<if>
<branch type="IF" condition="not ${confirm}">
<return>
<value>${updated_index_list}</value>
<status status="NOT RUN" start="2026-05-25T00:38:37.149808" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:37.149668" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:37.149638" elapsed="0.000258"/>
</if>
<for flavor="IN">
<iter>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify_Karaf_Is_Not_Running_On_Member" owner="ClusterManagement">
<kw name="Count_Running_Karafs_On_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.152041" level="INFO">${command} = ps axf | grep org.apache.karaf | grep -v grep | wc -l</msg>
<var>${command}</var>
<arg>${NODE_KARAF_COUNT_COMMAND}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:37.151727" elapsed="0.000342"/>
</kw>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:37.153004" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:38:37.152706" elapsed="0.000332"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:37.153874" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:37.154005" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:37.153734" elapsed="0.000305"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.158615" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:37.158309" elapsed="0.000366"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:37.158285" elapsed="0.000416"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:37.158964" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:37.159115" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:37.158851" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.159714" level="INFO">Attempting to execute command "ps axf | grep org.apache.karaf | grep -v grep | wc -l" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:37.159317" elapsed="0.000444"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:37.160331" level="INFO">${conn_id} = 26</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:37.159920" elapsed="0.000437"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.161273" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:37.161354" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:37.160973" elapsed="0.000406"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.161539" elapsed="0.000325"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:37.162816" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:37.471847" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:36 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:37.162495" elapsed="0.309635"/>
</kw>
<msg time="2026-05-25T00:38:37.472215" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.162035" elapsed="0.310287"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:37.160575" elapsed="0.311866"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:37.472934" level="INFO">Executing command 'ps axf | grep org.apache.karaf | grep -v grep | wc -l'.</msg>
<msg time="2026-05-25T00:38:37.485010" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:37.485307" level="INFO">${stdout} = 1</msg>
<msg time="2026-05-25T00:38:37.485439" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:37.472684" elapsed="0.012817"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:37.485892" elapsed="0.000513"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.487707" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:37.486899" elapsed="0.000911"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:37.488349" elapsed="0.000043"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:37.487990" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:37.487938" elapsed="0.000581"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:37.488917" elapsed="0.000062"/>
</return>
<status status="PASS" start="2026-05-25T00:38:37.488643" elapsed="0.000413"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:37.488607" elapsed="0.000503"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:37.489189" elapsed="0.000034"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:37.497266" elapsed="0.000333"/>
</kw>
<msg time="2026-05-25T00:38:37.497700" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.495972" elapsed="0.001875"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.498210" elapsed="0.000082"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.498614" elapsed="0.000047"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:37.489958" elapsed="0.008843"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:37.157622" elapsed="0.341551"/>
</kw>
<msg time="2026-05-25T00:38:37.499509" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.155902" elapsed="0.343873"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:37.154929" elapsed="0.345113"/>
</kw>
<msg time="2026-05-25T00:38:37.500088" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.154267" elapsed="0.345868"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:37.503443" elapsed="0.000207"/>
</kw>
<msg time="2026-05-25T00:38:37.503764" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:37.502828" elapsed="0.001003"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.503993" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:37.504158" elapsed="0.000021"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:37.500454" elapsed="0.003816"/>
</kw>
<msg time="2026-05-25T00:38:37.504368" level="INFO">${output} = 1</msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:38:37.153289" elapsed="0.351104"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.504848" level="INFO">1</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:37.504592" elapsed="0.000301"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:37.504936" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:37.505143" level="INFO">${count} = 1</msg>
<var>${count}</var>
<arg>command=${command}</arg>
<arg>member_index=${member_index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:38:37.152293" elapsed="0.352876"/>
</kw>
<return>
<value>${count}</value>
<status status="PASS" start="2026-05-25T00:38:37.505217" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:38:37.505388" level="INFO">${count} = 1</msg>
<var>${count}</var>
<arg>member_index=${member_index}</arg>
<doc>Remotely execute grep for karaf process, return count as string.</doc>
<status status="PASS" start="2026-05-25T00:38:37.151308" elapsed="0.354105"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<msg time="2026-05-25T00:38:37.505975" level="FAIL">Found running Karaf count: 1: 0 != 1</msg>
<arg>0</arg>
<arg>${count}</arg>
<arg>Found running Karaf count: ${count}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="FAIL" start="2026-05-25T00:38:37.505571" elapsed="0.000479">Found running Karaf count: 1: 0 != 1</status>
</kw>
<arg>member_index=${index}</arg>
<doc>Fail if non-zero karaf instances are counted on member of given index.</doc>
<status status="FAIL" start="2026-05-25T00:38:37.150809" elapsed="0.355357">Found running Karaf count: 1: 0 != 1</status>
</kw>
<kw name="Verify_Karaf_Is_Not_Running_On_Member" owner="ClusterManagement">
<kw name="Count_Running_Karafs_On_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:39.509967" level="INFO">${command} = ps axf | grep org.apache.karaf | grep -v grep | wc -l</msg>
<var>${command}</var>
<arg>${NODE_KARAF_COUNT_COMMAND}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:39.509164" elapsed="0.000879"/>
</kw>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:39.512473" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:38:39.511668" elapsed="0.000870"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:39.514360" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:39.514599" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:39.514032" elapsed="0.000628"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:39.520408" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:39.519960" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:39.519933" elapsed="0.000564"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:39.520764" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:39.520890" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:39.520650" elapsed="0.000269"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:39.521485" level="INFO">Attempting to execute command "ps axf | grep org.apache.karaf | grep -v grep | wc -l" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:39.521074" elapsed="0.000459"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:39.522117" level="INFO">${conn_id} = 27</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:39.521700" elapsed="0.000449"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:39.523093" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:39.523170" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:39.522813" elapsed="0.000384"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:39.523383" elapsed="0.000328"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:39.524616" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:39.828326" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:37 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:39.524258" elapsed="0.304279"/>
</kw>
<msg time="2026-05-25T00:38:39.828635" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:39.523879" elapsed="0.304965"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:39.522414" elapsed="0.306551"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:39.829534" level="INFO">Executing command 'ps axf | grep org.apache.karaf | grep -v grep | wc -l'.</msg>
<msg time="2026-05-25T00:38:39.851985" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:39.852279" level="INFO">${stdout} = 1</msg>
<msg time="2026-05-25T00:38:39.852388" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:39.829254" elapsed="0.023187"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:39.852867" elapsed="0.000532"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:39.854686" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:39.853948" elapsed="0.000836"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:39.855293" elapsed="0.000042"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:39.854963" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:39.854909" elapsed="0.000554"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:39.855834" elapsed="0.000061"/>
</return>
<status status="PASS" start="2026-05-25T00:38:39.855589" elapsed="0.000383"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:39.855553" elapsed="0.000475"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:39.856105" elapsed="0.000033"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:39.861548" elapsed="0.000206"/>
</kw>
<msg time="2026-05-25T00:38:39.861817" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:39.860646" elapsed="0.001278"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:39.862151" elapsed="0.000031"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:39.862406" elapsed="0.000030"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:39.856947" elapsed="0.005578"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:39.519288" elapsed="0.343481"/>
</kw>
<msg time="2026-05-25T00:38:39.862873" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:39.517558" elapsed="0.345480"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:39.516287" elapsed="0.347071"/>
</kw>
<msg time="2026-05-25T00:38:39.863420" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:39.515018" elapsed="0.348468"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:39.868387" elapsed="0.000344"/>
</kw>
<msg time="2026-05-25T00:38:39.868884" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:39.867573" elapsed="0.001397"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:39.869140" elapsed="0.000024"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:39.869328" elapsed="0.000022"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:39.864029" elapsed="0.005383"/>
</kw>
<msg time="2026-05-25T00:38:39.869504" level="INFO">${output} = 1</msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:38:39.513045" elapsed="0.356484"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:39.869985" level="INFO">1</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:39.869733" elapsed="0.000297"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:39.870072" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:39.870224" level="INFO">${count} = 1</msg>
<var>${count}</var>
<arg>command=${command}</arg>
<arg>member_index=${member_index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:38:39.510614" elapsed="0.359662"/>
</kw>
<return>
<value>${count}</value>
<status status="PASS" start="2026-05-25T00:38:39.870368" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:39.870520" level="INFO">${count} = 1</msg>
<var>${count}</var>
<arg>member_index=${member_index}</arg>
<doc>Remotely execute grep for karaf process, return count as string.</doc>
<status status="PASS" start="2026-05-25T00:38:39.508195" elapsed="0.362349"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<msg time="2026-05-25T00:38:39.871103" level="FAIL">Found running Karaf count: 1: 0 != 1</msg>
<arg>0</arg>
<arg>${count}</arg>
<arg>Found running Karaf count: ${count}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="FAIL" start="2026-05-25T00:38:39.870701" elapsed="0.000477">Found running Karaf count: 1: 0 != 1</status>
</kw>
<arg>member_index=${index}</arg>
<doc>Fail if non-zero karaf instances are counted on member of given index.</doc>
<status status="FAIL" start="2026-05-25T00:38:39.507033" elapsed="0.364278">Found running Karaf count: 1: 0 != 1</status>
</kw>
<kw name="Verify_Karaf_Is_Not_Running_On_Member" owner="ClusterManagement">
<kw name="Count_Running_Karafs_On_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:41.874908" level="INFO">${command} = ps axf | grep org.apache.karaf | grep -v grep | wc -l</msg>
<var>${command}</var>
<arg>${NODE_KARAF_COUNT_COMMAND}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:41.874122" elapsed="0.000855"/>
</kw>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:41.877080" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:38:41.876464" elapsed="0.000678"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:41.878684" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:41.878835" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:41.878496" elapsed="0.000379"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:41.885745" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:41.885135" elapsed="0.000709"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:41.885099" elapsed="0.000785"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:41.886267" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:41.886375" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:41.886128" elapsed="0.000276"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:41.886962" level="INFO">Attempting to execute command "ps axf | grep org.apache.karaf | grep -v grep | wc -l" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:41.886560" elapsed="0.000452"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:41.887686" level="INFO">${conn_id} = 28</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:41.887187" elapsed="0.000528"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:41.888660" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:41.888739" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:41.888374" elapsed="0.000390"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:41.888927" elapsed="0.000427"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:41.890330" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:42.219449" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:39 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:41.889989" elapsed="0.329610"/>
</kw>
<msg time="2026-05-25T00:38:42.219680" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:41.889587" elapsed="0.330183"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:41.887939" elapsed="0.332045"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.220492" level="INFO">Executing command 'ps axf | grep org.apache.karaf | grep -v grep | wc -l'.</msg>
<msg time="2026-05-25T00:38:42.242297" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:42.242565" level="INFO">${stdout} = 0</msg>
<msg time="2026-05-25T00:38:42.242673" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:42.220232" elapsed="0.022497"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:42.243130" elapsed="0.000527"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.244892" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:42.244152" elapsed="0.000842"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:42.245538" elapsed="0.000044"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:42.245184" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.245126" elapsed="0.000665"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:42.246225" elapsed="0.000097"/>
</return>
<status status="PASS" start="2026-05-25T00:38:42.245954" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.245913" elapsed="0.000550"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:42.246546" elapsed="0.000036"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:42.254713" elapsed="0.000340"/>
</kw>
<msg time="2026-05-25T00:38:42.255157" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.253519" elapsed="0.001832"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.255746" elapsed="0.000055"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.256144" elapsed="0.000051"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:42.247336" elapsed="0.009039"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:41.884085" elapsed="0.372683"/>
</kw>
<msg time="2026-05-25T00:38:42.256932" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:41.881423" elapsed="0.375765"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:41.880106" elapsed="0.377615"/>
</kw>
<msg time="2026-05-25T00:38:42.257878" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:41.879305" elapsed="0.378687"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:42.261257" elapsed="0.000201"/>
</kw>
<msg time="2026-05-25T00:38:42.261569" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.260701" elapsed="0.000934"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.261832" elapsed="0.000024"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.262000" elapsed="0.000020"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:42.258334" elapsed="0.003752"/>
</kw>
<msg time="2026-05-25T00:38:42.262178" level="INFO">${output} = 0</msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:38:41.877758" elapsed="0.384445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.262679" level="INFO">0</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:42.262423" elapsed="0.000302"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:42.262768" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:42.262923" level="INFO">${count} = 0</msg>
<var>${count}</var>
<arg>command=${command}</arg>
<arg>member_index=${member_index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:38:41.875464" elapsed="0.387484"/>
</kw>
<return>
<value>${count}</value>
<status status="PASS" start="2026-05-25T00:38:42.262995" elapsed="0.000026"/>
</return>
<msg time="2026-05-25T00:38:42.263140" level="INFO">${count} = 0</msg>
<var>${count}</var>
<arg>member_index=${member_index}</arg>
<doc>Remotely execute grep for karaf process, return count as string.</doc>
<status status="PASS" start="2026-05-25T00:38:41.873209" elapsed="0.389956"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>0</arg>
<arg>${count}</arg>
<arg>Found running Karaf count: ${count}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-05-25T00:38:42.263384" elapsed="0.000361"/>
</kw>
<arg>member_index=${index}</arg>
<doc>Fail if non-zero karaf instances are counted on member of given index.</doc>
<status status="PASS" start="2026-05-25T00:38:41.872130" elapsed="0.391680"/>
</kw>
<arg>${timeout}</arg>
<arg>2s</arg>
<arg>Verify_Karaf_Is_Not_Running_On_Member</arg>
<arg>member_index=${index}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-05-25T00:38:37.150260" elapsed="5.113598"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-05-25T00:38:37.150090" elapsed="5.113806"/>
</iter>
<var>${index}</var>
<value>@{stop_index_list}</value>
<status status="PASS" start="2026-05-25T00:38:37.149945" elapsed="5.113987"/>
</for>
<kw name="Run_Bash_Command_On_List_Or_All" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.267202" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:42.266810" elapsed="0.000420"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.267710" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:42.267411" elapsed="0.000325"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:42.267781" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:38:42.267938" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:42.266425" elapsed="0.001538"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:42.269050" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:38:42.268765" elapsed="0.000313"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.269929" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:42.270028" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:42.269808" elapsed="0.000247"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.273929" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:42.273043" elapsed="0.001035"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.273022" elapsed="0.001136"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.274478" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:42.274712" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:42.274365" elapsed="0.000457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.275823" level="INFO">Attempting to execute command "netstat -pnatu | grep 2550" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:42.275081" elapsed="0.000807"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.276924" level="INFO">${conn_id} = 29</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:42.276153" elapsed="0.000882"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.279326" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:42.279526" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:42.278897" elapsed="0.000673"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.280311" elapsed="0.000469"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.282356" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:42.601532" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:42 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:42.282013" elapsed="0.319757"/>
</kw>
<msg time="2026-05-25T00:38:42.601937" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.281521" elapsed="0.320527"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:42.277499" elapsed="0.324679"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.602998" level="INFO">Executing command 'netstat -pnatu | grep 2550'.</msg>
<msg time="2026-05-25T00:38:42.616538" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-05-25T00:38:42.617187" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:42.617598" level="INFO">${stderr} = bash: line 1: netstat: command not found</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:42.602598" elapsed="0.015246"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:42.619022" elapsed="0.000692"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.621673" level="INFO">bash: line 1: netstat: command not found</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:42.620681" elapsed="0.001105"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:42.622544" elapsed="0.000051"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:42.622126" elapsed="0.000557"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.622076" elapsed="0.000721"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:42.623421" elapsed="0.000076"/>
</return>
<status status="PASS" start="2026-05-25T00:38:42.622938" elapsed="0.000651"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.622911" elapsed="0.000796"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:42.623815" elapsed="0.000025"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:42.631438" elapsed="0.000160"/>
</kw>
<msg time="2026-05-25T00:38:42.631678" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.630504" elapsed="0.001288"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.633069" elapsed="0.000061"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.634463" elapsed="0.000061"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:42.624366" elapsed="0.010253"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:42.272134" elapsed="0.362717"/>
</kw>
<msg time="2026-05-25T00:38:42.634909" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.271303" elapsed="0.363659"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:42.270745" elapsed="0.364301"/>
</kw>
<msg time="2026-05-25T00:38:42.635089" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.270211" elapsed="0.364925"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:42.638553" elapsed="0.000148"/>
</kw>
<msg time="2026-05-25T00:38:42.638746" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.637875" elapsed="0.000935"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.638974" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.639139" elapsed="0.000021"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:42.635479" elapsed="0.003742"/>
</kw>
<msg time="2026-05-25T00:38:42.639463" level="INFO">${output} = </msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:38:42.269360" elapsed="0.370136"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.639967" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:42.639706" elapsed="0.000304"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:42.640061" elapsed="0.000036"/>
</return>
<arg>command=${command}</arg>
<arg>member_index=${index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:38:42.268357" elapsed="0.372011"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-05-25T00:38:42.268161" elapsed="0.372249"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-05-25T00:38:42.268020" elapsed="0.372429"/>
</for>
<arg>command=netstat -pnatu | grep 2550</arg>
<doc>Cycle through indices (or all), run command on each.</doc>
<status status="PASS" start="2026-05-25T00:38:42.264183" elapsed="0.376328"/>
</kw>
<return>
<value>${updated_index_list}</value>
<status status="PASS" start="2026-05-25T00:38:42.640554" elapsed="0.000028"/>
</return>
<doc>If the list is empty, stops all ODL instances. Otherwise stop members based on ${stop_index_list}
If ${confirm} is True, verify stopped instances are not there anymore.
The KW will return a list of available members: ${updated index_list}=${original_index_list}-${member_index_list}</doc>
<status status="PASS" start="2026-05-25T00:38:36.362679" elapsed="6.278009"/>
</kw>
<msg time="2026-05-25T00:38:42.640786" level="INFO">${status} = PASS</msg>
<msg time="2026-05-25T00:38:42.640832" level="INFO">${result} = []</msg>
<var>${status}</var>
<var>${result}</var>
<arg>ClusterManagement.Stop_Members_From_List_Or_All</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-05-25T00:38:36.362079" elapsed="6.278777"/>
</kw>
<if>
<branch type="IF" condition="'${status}' != 'PASS'">
<kw name="Kill_Members_From_List_Or_All" owner="ClusterManagement">
<doc>If the list is empty, kill all ODL instances. Otherwise, kill members based on ${kill_index_list}
If ${confirm} is True, sleep 1 second and verify killed instances are not there anymore.
The KW will return a list of available members: ${updated index_list}=${original_index_list}-${member_index_list}</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.641394" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:42.640933" elapsed="0.000540"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.640915" elapsed="0.000595"/>
</if>
<kw name="Start_Members_From_List_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.653695" level="INFO">${base_command} = /tmp/karaf-0.22.3-SNAPSHOT/bin/start</msg>
<var>${base_command}</var>
<arg>"""${karaf_home}""" != ""</arg>
<arg>${karaf_home}/bin/start</arg>
<arg>${NODE_START_COMMAND}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:42.653301" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.654545" level="INFO">${command} = /tmp/karaf-0.22.3-SNAPSHOT/bin/start</msg>
<var>${command}</var>
<arg>"""${export_java_home}""" != ""</arg>
<arg>export JAVA_HOME="${export_java_home}"; ${base_command}</arg>
<arg>${base_command}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:42.653897" elapsed="0.000684"/>
</kw>
<kw name="Get Current Date" owner="DateTime">
<msg time="2026-05-25T00:38:42.655072" level="INFO">${epoch} = 1779669522.654985</msg>
<var>${epoch}</var>
<arg>time_zone=UTC</arg>
<arg>result_format=epoch</arg>
<arg>exclude_millis=False</arg>
<doc>Returns current local or UTC time with an optional increment.</doc>
<status status="PASS" start="2026-05-25T00:38:42.654767" elapsed="0.000332"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.655708" level="INFO">${gc_filepath} = /tmp/karaf-0.22.3-SNAPSHOT/data/log/gc_1779669522.654985.log</msg>
<var>${gc_filepath}</var>
<arg>"""${karaf_home}""" != ""</arg>
<arg>${karaf_home}/data/log/gc_${epoch}.log</arg>
<arg>${GC_LOG_PATH}/gc_${epoch}.log</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:42.655289" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.656307" level="INFO">${gc_options} = -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/tmp/karaf-0.22.3-SNAPSHOT/data/log/gc_1779669522.654985.log</msg>
<var>${gc_options}</var>
<arg>"docker" not in """${node_start_command}"""</arg>
<arg>-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:${gc_filepath}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:42.655908" elapsed="0.000427"/>
</kw>
<kw name="Run_Bash_Command_On_List_Or_All" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.658462" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:42.658041" elapsed="0.000449"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.658959" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:42.658657" elapsed="0.000329"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:42.659032" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:38:42.659194" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:42.657587" elapsed="0.001633"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:38:42.660337" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:38:42.660039" elapsed="0.000326"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.661473" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:42.661590" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:42.661041" elapsed="0.000582"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:42.664835" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:42.664327" elapsed="0.000655"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:42.664303" elapsed="0.000709"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.665306" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:38:42.665411" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:38:42.665171" elapsed="0.000267"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.666496" level="INFO">Attempting to execute command "/tmp/karaf-0.22.3-SNAPSHOT/bin/start -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/tmp/karaf-0.22.3-SNAPSHOT/data/log/gc_1779669522.654985.log" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:42.665595" elapsed="0.000952"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.667332" level="INFO">${conn_id} = 30</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:38:42.666711" elapsed="0.000649"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:38:42.668664" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:38:42.668776" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:38:42.668106" elapsed="0.000750"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.669156" elapsed="0.000753"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.672230" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:38:42.995947" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:38:18 UTC 2026

  System load:  0.07               Processes:             122
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:42 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:38:42.671777" elapsed="0.324490"/>
</kw>
<msg time="2026-05-25T00:38:42.996380" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.670434" elapsed="0.326069"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:38:42.667582" elapsed="0.329304"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:38:42.997521" level="INFO">Executing command '/tmp/karaf-0.22.3-SNAPSHOT/bin/start -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/tmp/karaf-0.22.3-SNAPSHOT/data/log/gc_1779669522.654985.log'.</msg>
<msg time="2026-05-25T00:38:43.019999" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:38:43.020330" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:38:43.020433" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:38:42.997164" elapsed="0.023320"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:38:43.020918" elapsed="0.000544"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.022975" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:43.021949" elapsed="0.001131"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.023913" elapsed="0.000043"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:43.023566" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:43.023216" elapsed="0.000879"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:38:43.024531" elapsed="0.000071"/>
</return>
<status status="PASS" start="2026-05-25T00:38:43.024229" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:43.024192" elapsed="0.000550"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.024825" elapsed="0.000036"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:43.036746" elapsed="0.000998"/>
</kw>
<msg time="2026-05-25T00:38:43.037843" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:43.034452" elapsed="0.003520"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.038399" elapsed="0.000036"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.038743" elapsed="0.000113"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:43.025639" elapsed="0.013396"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:38:42.663732" elapsed="0.375402"/>
</kw>
<msg time="2026-05-25T00:38:43.039187" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.662960" elapsed="0.376294"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:38:42.662414" elapsed="0.376924"/>
</kw>
<msg time="2026-05-25T00:38:43.039381" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:42.661808" elapsed="0.377619"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:38:43.042806" elapsed="0.000148"/>
</kw>
<msg time="2026-05-25T00:38:43.042997" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:43.042230" elapsed="0.000828"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.043220" elapsed="0.000044"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.043415" elapsed="0.000021"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:38:43.039737" elapsed="0.003874"/>
</kw>
<msg time="2026-05-25T00:38:43.043721" level="INFO">${output} = </msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:38:42.660605" elapsed="0.383142"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.044256" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:43.043974" elapsed="0.000327"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:38:43.044351" elapsed="0.000036"/>
</return>
<arg>command=${command}</arg>
<arg>member_index=${index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:38:42.659626" elapsed="0.384863"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-05-25T00:38:42.659444" elapsed="0.385083"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-05-25T00:38:42.659298" elapsed="0.385265"/>
</for>
<arg>command=${command} ${gc_options}</arg>
<arg>member_index_list=${member_index_list}</arg>
<doc>Cycle through indices (or all), run command on each.</doc>
<status status="PASS" start="2026-05-25T00:38:42.657020" elapsed="0.387601"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.054578" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.054231" elapsed="0.000407"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:43.054211" elapsed="0.000452"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.056160" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:43.055754" elapsed="0.000434"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.056675" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:43.056373" elapsed="0.000328"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:43.056746" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:38:43.056901" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:43.055374" elapsed="0.001552"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.057968" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:43.057666" elapsed="0.000329"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:38:43.058041" elapsed="0.000028"/>
</return>
<msg time="2026-05-25T00:38:43.058223" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:38:43.057313" elapsed="0.000949"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.149483" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:43.148800" elapsed="0.000787"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:43.151464" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.151134" elapsed="0.000414">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:43.151751" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:43.150625" elapsed="0.001225"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.153621" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:43.152886" elapsed="0.000836"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:43.155222" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:43.155535" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:43.154898" elapsed="0.000738"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.157352" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:43.156875" elapsed="0.000592"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.158944" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:43.158672" elapsed="0.000319"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.159450" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:43.159154" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.159808" elapsed="0.000021"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.160017" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.160193" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:38:43.159670" elapsed="0.000774"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.159526" elapsed="0.000949"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:43.160522" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:38:43.160715" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:43.158289" elapsed="0.002475"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:43.157628" elapsed="0.003178"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.161162" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.160866" elapsed="0.000396"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:43.157571" elapsed="0.003751"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.163072" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:43.162344" elapsed="0.000830"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:43.163278" elapsed="0.000056"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:43.146230" elapsed="0.017360"/>
</kw>
<msg time="2026-05-25T00:38:43.163865" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:43.094608" elapsed="0.069317"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.178796" elapsed="0.000037"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.191132" elapsed="0.000031"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.205013" elapsed="0.000031"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.205254" elapsed="0.000025"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.205451" elapsed="0.000023"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.205935" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.205776" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:43.205756" elapsed="0.000373"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.206327" elapsed="0.000024"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.206509" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.206679" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:43.205711" elapsed="0.001021"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.205538" elapsed="0.001222"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.206911" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.206991" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:38:43.207138" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:43.090432" elapsed="0.116734"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:43.208782" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.208333" elapsed="0.000605">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:43.209153" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:43.207912" elapsed="0.001267"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.209612" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.209283" elapsed="0.000388"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.210451" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:43.209898" elapsed="0.000581"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:43.209696" elapsed="0.000818"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:43.209262" elapsed="0.001274"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.212953" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:43.210689" elapsed="0.002291"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:43.213030" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:43.213188" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:43.207557" elapsed="0.005656"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:43.214701" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.214304" elapsed="0.000539">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:43.215058" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:43.213922" elapsed="0.001162"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:43.215311" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:38:43.215155" elapsed="0.000217"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:43.215136" elapsed="0.000261"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.215548" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.215721" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.215787" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:38:43.217879" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:43.213593" elapsed="0.004314"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.219455" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:43.219146" elapsed="0.000357"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:43.219943" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:43.219664" elapsed="0.000325"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:43.225409" level="FAIL">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.222113" elapsed="0.008229">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<status status="FAIL" start="2026-05-25T00:38:43.220056" elapsed="0.010385">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.230661" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.230479" elapsed="0.000250"/>
</branch>
<status status="FAIL" start="2026-05-25T00:38:43.220038" elapsed="0.010716">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.231473" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.231617" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:43.231578" elapsed="0.000083"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:43.231559" elapsed="0.000123"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.231835" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.231905" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.218315" elapsed="0.013705">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.232099" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.068433" elapsed="0.163765">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.232618" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.232434" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:43.232415" elapsed="0.000299"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:43.232748" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.062301" elapsed="0.170550">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:38:43.057129" elapsed="0.175791">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:38:43.056981" elapsed="0.176000">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:38:43.054975" elapsed="0.178108">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<status status="FAIL" start="2026-05-25T00:38:43.054718" elapsed="0.178422">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</branch>
<status status="FAIL" start="2026-05-25T00:38:43.054703" elapsed="0.178469">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:38:43.233495" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:43.233255" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:43.233224" elapsed="0.000354"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.053788" elapsed="0.179872">ConnectionError: HTTPConnectionPool(host='10.30.170.7', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.170.7', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.250288" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.249884" elapsed="0.000490"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:53.249853" elapsed="0.000550"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.252133" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:53.251632" elapsed="0.000531"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.253095" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:38:53.252350" elapsed="0.000774"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:38:53.253176" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:38:53.253372" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:38:53.251151" elapsed="0.002248"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.254493" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:53.254158" elapsed="0.000363"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:38:53.254660" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:53.254820" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:38:53.253785" elapsed="0.001062"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.345913" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:53.345197" elapsed="0.000824"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:53.348192" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.347865" elapsed="0.000426">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:53.348498" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:53.347280" elapsed="0.001317"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.350651" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:53.349619" elapsed="0.001134"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:38:53.352113" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:38:53.352428" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:38:53.351774" elapsed="0.000753"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.353989" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:53.353556" elapsed="0.000567"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.355970" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:53.355691" elapsed="0.000330"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.356509" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:38:53.356197" elapsed="0.000339"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.356880" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.357360" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.357546" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:38:53.356740" elapsed="0.000866"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.356592" elapsed="0.001047"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:38:53.357689" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:38:53.357890" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:38:53.355044" elapsed="0.002897"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:53.354381" elapsed="0.003603"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.358514" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.358045" elapsed="0.000556"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:53.354316" elapsed="0.004342"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.360495" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:38:53.359729" elapsed="0.000865"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:38:53.360681" elapsed="0.000055"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:38:53.342828" elapsed="0.018159"/>
</kw>
<msg time="2026-05-25T00:38:53.361261" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:38:53.291779" elapsed="0.069542"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.375011" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.387231" elapsed="0.000043"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.399403" elapsed="0.000036"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.399671" elapsed="0.000025"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.399863" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.400341" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.400166" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:53.400149" elapsed="0.000379"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.400675" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.400845" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.401012" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:38:53.400110" elapsed="0.000955"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.399945" elapsed="0.001148"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.401255" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.401336" elapsed="0.000018"/>
</return>
<msg time="2026-05-25T00:38:53.401480" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:38:53.287478" elapsed="0.114029"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:53.403071" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.402636" elapsed="0.000587">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:53.403452" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:53.402250" elapsed="0.001228"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.403828" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.403567" elapsed="0.000318"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.404682" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:38:53.404112" elapsed="0.000655"/>
</kw>
<status status="PASS" start="2026-05-25T00:38:53.403910" elapsed="0.000902"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:53.403532" elapsed="0.001305"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.407287" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:38:53.404996" elapsed="0.002321"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:38:53.407370" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:38:53.407531" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:53.401882" elapsed="0.005711"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:38:53.409030" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.408641" elapsed="0.000534">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:38:53.409411" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:38:53.408286" elapsed="0.001153"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:38:53.409657" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-05-25T00:38:53.409516" elapsed="0.000203"/>
</branch>
<status status="PASS" start="2026-05-25T00:38:53.409496" elapsed="0.000247"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.409891" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.410067" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.410135" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:38:53.412329" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:38:53.407907" elapsed="0.004451"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.413861" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:53.413571" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:38:53.414366" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:38:53.414070" elapsed="0.000348"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:38:53.512736" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:38:53.513087" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:38:53.513641" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.416564" elapsed="0.098448">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:38:53.414489" elapsed="0.100733">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.515796" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.515346" elapsed="0.000612"/>
</branch>
<status status="FAIL" start="2026-05-25T00:38:53.414469" elapsed="0.101547">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.517389" elapsed="0.000067"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.517724" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:38:53.517629" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:53.517584" elapsed="0.000396"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.518362" elapsed="0.000053"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.518530" elapsed="0.000038"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.412712" elapsed="0.106076">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.518970" elapsed="0.000039"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.264875" elapsed="0.254329">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.519962" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.519466" elapsed="0.000676"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:53.519424" elapsed="0.000773"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:38:53.520322" elapsed="0.000050"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.258739" elapsed="0.261775">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:38:53.253607" elapsed="0.267005">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:38:53.253458" elapsed="0.267245">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:38:53.250730" elapsed="0.270113">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:38:53.250462" elapsed="0.270461">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:38:53.250445" elapsed="0.270524">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:38:53.521433" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:38:53.521066" elapsed="0.000451"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:38:53.521041" elapsed="0.000510"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:38:53.249318" elapsed="0.272347">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.538395" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.537893" elapsed="0.000602"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:03.537856" elapsed="0.000677"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.540775" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:03.540130" elapsed="0.000685"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.541549" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:39:03.541089" elapsed="0.000498"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:39:03.541656" elapsed="0.000052"/>
</return>
<msg time="2026-05-25T00:39:03.541849" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:39:03.539549" elapsed="0.002325"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.543343" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:03.542729" elapsed="0.000643"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:39:03.543419" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:39:03.543572" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:39:03.542369" elapsed="0.001229"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.636421" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:03.635711" elapsed="0.000816"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:03.638606" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.638089" elapsed="0.000597">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:03.638881" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:03.637572" elapsed="0.001404"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.640623" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:03.639952" elapsed="0.000772"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:39:03.642187" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:39:03.642640" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:39:03.641734" elapsed="0.001003"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.644089" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:03.643687" elapsed="0.000512"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.645728" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:03.645458" elapsed="0.000316"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.646213" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:39:03.645937" elapsed="0.000459"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.646745" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.646954" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.647131" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:39:03.646606" elapsed="0.000583"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.646454" elapsed="0.000767"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:39:03.647303" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:39:03.647498" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:39:03.645049" elapsed="0.002498"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:03.644380" elapsed="0.003209"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.647917" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.647647" elapsed="0.000349"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:03.644319" elapsed="0.003732"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.649787" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:39:03.649041" elapsed="0.000844"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:39:03.649968" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:39:03.633075" elapsed="0.017354"/>
</kw>
<msg time="2026-05-25T00:39:03.650748" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:39:03.581260" elapsed="0.069546"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.663216" elapsed="0.000039"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.675216" elapsed="0.000039"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.687204" elapsed="0.000043"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.687435" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.687620" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.688067" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.687915" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:03.687897" elapsed="0.000381"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.688427" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.688597" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.688763" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:39:03.687860" elapsed="0.000956"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.687699" elapsed="0.001144"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.689008" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.689087" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:39:03.689222" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:39:03.576597" elapsed="0.112667"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:03.690803" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.690381" elapsed="0.000573">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:03.691168" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:03.689983" elapsed="0.001210"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.691543" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.691282" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.692424" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:03.691888" elapsed="0.000564"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:03.691680" elapsed="0.000809"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:03.691262" elapsed="0.001250"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.694973" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:03.692668" elapsed="0.002333"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:39:03.695053" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:39:03.695212" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:03.689636" elapsed="0.005615"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:03.696639" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.696225" elapsed="0.000557">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:03.697015" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:03.695886" elapsed="0.001155"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:39:03.697309" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:39:03.697114" elapsed="0.000258"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:03.697095" elapsed="0.000301"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.697545" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.697720" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.697787" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:39:03.699796" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:03.695560" elapsed="0.004262"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.701335" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:03.701032" elapsed="0.000351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:03.701806" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:03.701539" elapsed="0.000312"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:39:03.708828" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:39:03.708994" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:39:03.709188" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.703931" elapsed="0.005655">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:03.701918" elapsed="0.007753">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.709864" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.709704" elapsed="0.000226"/>
</branch>
<status status="FAIL" start="2026-05-25T00:39:03.701899" elapsed="0.008054">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.710499" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.710669" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:39:03.710633" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:03.710615" elapsed="0.000117"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.710876" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.710946" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.700170" elapsed="0.010885">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.711131" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.553404" elapsed="0.157825">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.711522" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.711344" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:03.711326" elapsed="0.000292"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:03.711650" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.547428" elapsed="0.164321">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:39:03.542178" elapsed="0.169638">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:39:03.542024" elapsed="0.169850">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:39:03.538984" elapsed="0.172983">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:03.538612" elapsed="0.173410">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:39:03.538590" elapsed="0.173463">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:39:03.712361" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:03.712120" elapsed="0.000298"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:03.712104" elapsed="0.000338"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:39:03.537181" elapsed="0.175341">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.728183" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.727825" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:13.727799" elapsed="0.000506"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.729920" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:13.729463" elapsed="0.000487"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.730629" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:39:13.730192" elapsed="0.000473"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:39:13.730729" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:39:13.730937" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:39:13.729017" elapsed="0.001949"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.732591" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:13.732273" elapsed="0.000347"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:39:13.732670" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:39:13.732824" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:39:13.731889" elapsed="0.000960"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.825282" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:13.824553" elapsed="0.000837"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:13.827285" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.826946" elapsed="0.000416">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:13.827567" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:13.826428" elapsed="0.001239"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.829618" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:13.828696" elapsed="0.001020"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:39:13.831046" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:39:13.831378" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:39:13.830723" elapsed="0.000752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.833040" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:13.832582" elapsed="0.000572"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.834795" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:13.834509" elapsed="0.000333"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.835317" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:39:13.835007" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.835683" elapsed="0.000023"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.835896" elapsed="0.000204"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.836579" elapsed="0.000026"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:39:13.835543" elapsed="0.001104"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.835397" elapsed="0.001282"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:39:13.836729" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:39:13.836929" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:39:13.833969" elapsed="0.003011"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:13.833336" elapsed="0.003697"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.837396" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.837097" elapsed="0.000381"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:13.833276" elapsed="0.004259"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.839359" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:39:13.838579" elapsed="0.000882"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:39:13.839548" elapsed="0.000056"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:39:13.821903" elapsed="0.017955"/>
</kw>
<msg time="2026-05-25T00:39:13.840192" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:39:13.770337" elapsed="0.070043"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.852711" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.864866" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.877035" elapsed="0.000030"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.877248" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.877431" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.877849" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.877702" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:13.877686" elapsed="0.000346"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.878175" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.878426" elapsed="0.000027"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.878632" elapsed="0.000023"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:39:13.877652" elapsed="0.001037"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.877507" elapsed="0.001209"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.878862" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.878939" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:39:13.879059" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:39:13.766003" elapsed="0.113082"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:13.880576" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.880151" elapsed="0.000574">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:13.880934" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:13.879795" elapsed="0.001165"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.881297" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.881032" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.882119" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:13.881621" elapsed="0.000527"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:13.881417" elapsed="0.000767"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:13.881013" elapsed="0.001193"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.884718" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:13.882451" elapsed="0.002295"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:39:13.884798" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:39:13.884955" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:13.879461" elapsed="0.005519"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:13.886419" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.885967" elapsed="0.000619">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:13.886800" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:13.885629" elapsed="0.001197"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:39:13.887037" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:39:13.886899" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:13.886879" elapsed="0.000241"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.887351" elapsed="0.000031"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.887577" elapsed="0.000024"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.887648" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:39:13.889690" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:13.885303" elapsed="0.004414"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.891221" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:13.890948" elapsed="0.000353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:13.891720" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:13.891455" elapsed="0.000309"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:39:13.898813" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:39:13.898957" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:39:13.899190" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.893849" elapsed="0.005906">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:13.891831" elapsed="0.008043">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.900142" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.899922" elapsed="0.000335"/>
</branch>
<status status="FAIL" start="2026-05-25T00:39:13.891812" elapsed="0.008482">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.901020" elapsed="0.000040"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.901288" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:39:13.901213" elapsed="0.000138"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:13.901186" elapsed="0.000196"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.901588" elapsed="0.000032"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.901689" elapsed="0.000022"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.890061" elapsed="0.011783">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.901951" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.743814" elapsed="0.158276">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.902525" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.902224" elapsed="0.000405"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:13.902199" elapsed="0.000463"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:13.902707" elapsed="0.000020"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.737108" elapsed="0.165740">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:39:13.731432" elapsed="0.171508">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:39:13.731262" elapsed="0.171759">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:39:13.728622" elapsed="0.174528">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:13.728362" elapsed="0.174866">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:39:13.728346" elapsed="0.174955">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:39:13.903703" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:13.903397" elapsed="0.000402"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:13.903374" elapsed="0.000460"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:39:13.727299" elapsed="0.176647">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:39:23.918168" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:23.917820" elapsed="0.000436"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:23.917797" elapsed="0.000487"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:23.919905" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:23.919432" elapsed="0.000502"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:39:23.920484" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:39:23.920099" elapsed="0.000413"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:39:23.920561" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:39:23.920730" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:39:23.918994" elapsed="0.001761"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:23.922121" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:23.921813" elapsed="0.000335"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:39:23.922195" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:39:23.922365" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:39:23.921453" elapsed="0.000937"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.013959" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:24.013282" elapsed="0.000784"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:24.015874" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:24.015599" elapsed="0.000351">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:24.016149" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:24.015060" elapsed="0.001480"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.018202" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:24.017536" elapsed="0.000783"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:39:24.019644" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:39:24.019948" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:39:24.019291" elapsed="0.000755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.021660" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:24.021209" elapsed="0.000561"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.023250" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:24.022967" elapsed="0.000331"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.023761" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:39:24.023461" elapsed="0.000327"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.024116" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.024369" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.024548" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:39:24.023981" elapsed="0.000626"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.023838" elapsed="0.000799"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:39:24.024683" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:39:24.024872" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:39:24.022583" elapsed="0.002338"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:24.021933" elapsed="0.003029"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.025453" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:24.025020" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:24.021874" elapsed="0.003714"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.029421" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:39:24.026565" elapsed="0.002957"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:39:24.029608" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:39:24.010687" elapsed="0.019224"/>
</kw>
<msg time="2026-05-25T00:39:24.030223" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:39:23.958481" elapsed="0.071816"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.042732" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.054916" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.067097" elapsed="0.000030"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.067317" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.067508" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.067997" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:24.067846" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:24.067829" elapsed="0.000358"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.068391" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.068608" elapsed="0.000026"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.068828" elapsed="0.000024"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:39:24.067795" elapsed="0.001091"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.067638" elapsed="0.001283"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.069113" elapsed="0.000026"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.069210" elapsed="0.000020"/>
</return>
<msg time="2026-05-25T00:39:24.069378" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:39:23.954301" elapsed="0.115105"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:24.071057" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:24.070605" elapsed="0.000606">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:24.071490" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:24.070129" elapsed="0.001388"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.071889" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:24.071625" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.072755" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:24.072222" elapsed="0.000562"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:24.072017" elapsed="0.000803"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:24.071604" elapsed="0.001239"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.075385" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:24.073015" elapsed="0.002398"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:39:24.075466" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:39:24.075677" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:24.069785" elapsed="0.005919"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:24.077141" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:24.076743" elapsed="0.000568">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:24.077530" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:24.076397" elapsed="0.001159"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:39:24.077768" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:39:24.077630" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:24.077610" elapsed="0.000242"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.077999" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.078172" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.078254" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:39:24.080307" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:24.076015" elapsed="0.004319"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.081931" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:24.081630" elapsed="0.000349"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:24.082427" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:24.082136" elapsed="0.000336"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:39:24.089383" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:39:24.089529" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:39:24.089729" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:39:24.084557" elapsed="0.005540">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:24.082541" elapsed="0.007640">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.090391" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:24.090215" elapsed="0.000243"/>
</branch>
<status status="FAIL" start="2026-05-25T00:39:24.082522" elapsed="0.007961">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.091012" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.091221" elapsed="0.000033"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:39:24.091178" elapsed="0.000108"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:24.091151" elapsed="0.000157"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.091467" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.091540" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:39:24.080690" elapsed="0.010991">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.091761" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:39:23.932228" elapsed="0.159633">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.092137" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:24.091957" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:24.091939" elapsed="0.000310"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:24.092285" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:39:23.926309" elapsed="0.166076">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:39:23.921040" elapsed="0.171417">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:39:23.920892" elapsed="0.171623">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:39:23.918605" elapsed="0.174004">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:23.918341" elapsed="0.174323">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:39:23.918325" elapsed="0.174370">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:39:24.092982" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:24.092761" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:24.092745" elapsed="0.000317"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:39:23.917313" elapsed="0.175828">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.107672" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.107272" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:34.107230" elapsed="0.000559"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.109478" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:34.108992" elapsed="0.000516"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.109992" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:39:34.109677" elapsed="0.000343"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:39:34.110069" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:39:34.110255" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:39:34.108530" elapsed="0.001752"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.111714" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:34.111114" elapsed="0.000630"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:39:34.111793" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:39:34.111947" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:39:34.110754" elapsed="0.001219"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.207304" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:34.206523" elapsed="0.000896"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:34.209809" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.209491" elapsed="0.000399">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:34.210093" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:34.208943" elapsed="0.001250"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.211898" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:34.211206" elapsed="0.000795"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:39:34.213415" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:39:34.213697" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:39:34.213066" elapsed="0.000729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.215251" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:34.214826" elapsed="0.000541"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.216952" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:34.216648" elapsed="0.000352"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.217461" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:39:34.217167" elapsed="0.000321"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.217831" elapsed="0.000023"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.218047" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.218230" elapsed="0.000038"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:39:34.217687" elapsed="0.000620"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.217540" elapsed="0.000799"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:39:34.218389" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:39:34.218583" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:39:34.216185" elapsed="0.002449"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:34.215536" elapsed="0.003141"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.219019" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.218738" elapsed="0.000364"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:34.215475" elapsed="0.003684"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.221052" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:39:34.220143" elapsed="0.001011"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:39:34.221254" elapsed="0.000057"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:39:34.203590" elapsed="0.018053"/>
</kw>
<msg time="2026-05-25T00:39:34.221965" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:39:34.148302" elapsed="0.073721"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.234855" elapsed="0.000031"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.247012" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.259142" elapsed="0.000030"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.259358" elapsed="0.000025"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.259543" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.259962" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.259813" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:34.259797" elapsed="0.000347"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.260313" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.260486" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.260654" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:39:34.259766" elapsed="0.000941"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.259619" elapsed="0.001114"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.261105" elapsed="0.000044"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.261222" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:39:34.261388" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:39:34.144089" elapsed="0.117329"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:34.263085" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.262640" elapsed="0.000611">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:34.263470" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:34.262249" elapsed="0.001247"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.263823" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.263569" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.264691" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:34.264153" elapsed="0.000566"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:34.263947" elapsed="0.000811"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:34.263550" elapsed="0.001233"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.267882" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:34.264995" elapsed="0.002925"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:39:34.267994" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:39:34.268214" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:34.261844" elapsed="0.006432"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:34.270335" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.269724" elapsed="0.000817">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:34.270843" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:34.269204" elapsed="0.001677"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:39:34.271180" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-05-25T00:39:34.270985" elapsed="0.000304"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:34.270957" elapsed="0.000369"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.271538" elapsed="0.000031"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.271785" elapsed="0.000030"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.271879" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:39:34.274958" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:34.268713" elapsed="0.006285"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.277158" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:34.276705" elapsed="0.000521"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:34.277852" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:34.277471" elapsed="0.000427"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:39:34.289153" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:39:34.289512" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:39:34.289947" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.282027" elapsed="0.008741">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:34.277967" elapsed="0.012992">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.291443" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.291039" elapsed="0.000556"/>
</branch>
<status status="FAIL" start="2026-05-25T00:39:34.277948" elapsed="0.013703">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.293153" elapsed="0.000063"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.293595" elapsed="0.000031"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:39:34.293507" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:34.293464" elapsed="0.000262"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.293957" elapsed="0.000032"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.294062" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.275521" elapsed="0.018708">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.294369" elapsed="0.000025"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.121837" elapsed="0.172682">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.294932" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.294662" elapsed="0.000378"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:34.294636" elapsed="0.000440"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:34.295124" elapsed="0.000021"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.115867" elapsed="0.179427">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:39:34.110579" elapsed="0.184816">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:39:34.110429" elapsed="0.185054">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:39:34.108116" elapsed="0.187508">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:34.107849" elapsed="0.187856">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:39:34.107833" elapsed="0.187918">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:39:34.296182" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:34.295849" elapsed="0.000453"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:34.295825" elapsed="0.000515"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:39:34.106697" elapsed="0.189763">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.312868" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.312494" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:44.312468" elapsed="0.000508"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.314624" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:44.314143" elapsed="0.000514"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.315141" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:39:44.314827" elapsed="0.000341"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:39:44.315216" elapsed="0.000054"/>
</return>
<msg time="2026-05-25T00:39:44.315404" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:39:44.313713" elapsed="0.001716"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.316906" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:44.316588" elapsed="0.000346"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:39:44.316981" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:39:44.317140" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:39:44.315930" elapsed="0.001236"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.406769" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:44.406062" elapsed="0.000813"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:44.408940" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.408644" elapsed="0.000372">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:44.409214" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:44.408123" elapsed="0.001203"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.410997" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:44.410337" elapsed="0.000758"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:39:44.412707" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:39:44.412996" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:39:44.412098" elapsed="0.000994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.414515" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:44.414062" elapsed="0.000563"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.416323" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:44.416031" elapsed="0.000341"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.416823" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:39:44.416539" elapsed="0.000311"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.417186" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.417416" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.417596" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:39:44.417048" elapsed="0.000608"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.416902" elapsed="0.000786"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:39:44.417736" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:39:44.417943" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:39:44.415624" elapsed="0.002370"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:44.414794" elapsed="0.003242"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.418715" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.418097" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:44.414736" elapsed="0.004142"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.421090" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:39:44.420201" elapsed="0.000991"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:39:44.421300" elapsed="0.000060"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:39:44.403837" elapsed="0.017780"/>
</kw>
<msg time="2026-05-25T00:39:44.421979" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:39:44.353452" elapsed="0.068592"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.435323" elapsed="0.000052"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.450935" elapsed="0.000054"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.465276" elapsed="0.000115"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.465922" elapsed="0.000055"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.466373" elapsed="0.000048"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.467487" elapsed="0.000112"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.467095" elapsed="0.000748"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:44.467056" elapsed="0.000850"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.468265" elapsed="0.000053"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.468655" elapsed="0.000046"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.469033" elapsed="0.000046"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:39:44.466972" elapsed="0.002181"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.466555" elapsed="0.002657"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.469616" elapsed="0.000048"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.469794" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:39:44.470113" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:39:44.349256" elapsed="0.120917"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:44.473975" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.472990" elapsed="0.001343">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:44.474809" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:44.472112" elapsed="0.002755"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.475641" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.475029" elapsed="0.000840"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.477623" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:44.476415" elapsed="0.001270"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:44.475932" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:44.474987" elapsed="0.002830"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.480443" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:44.478141" elapsed="0.002329"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:39:44.480522" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:39:44.480680" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:44.471297" elapsed="0.009409"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:44.482097" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.481712" elapsed="0.000542">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:44.482474" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:44.481371" elapsed="0.001129"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:39:44.482708" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:39:44.482572" elapsed="0.000196"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:44.482553" elapsed="0.000240"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.482939" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.483116" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.483182" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:39:44.485306" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:44.481013" elapsed="0.004320"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.486812" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:44.486533" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:44.487300" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:44.487012" elapsed="0.000333"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:39:44.494421" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:39:44.494563" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:39:44.494752" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.489490" elapsed="0.005651">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:44.487412" elapsed="0.007811">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.495428" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.495272" elapsed="0.000222"/>
</branch>
<status status="FAIL" start="2026-05-25T00:39:44.487394" elapsed="0.008124">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.496045" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.496216" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:39:44.496177" elapsed="0.000105"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:44.496158" elapsed="0.000147"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.496452" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.496524" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.485687" elapsed="0.010947">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.496712" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.327141" elapsed="0.169672">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.497113" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.496910" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:44.496892" elapsed="0.000320"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:44.497272" elapsed="0.000016"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.321082" elapsed="0.176294">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:39:44.315753" elapsed="0.181692">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:39:44.315587" elapsed="0.181915">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:39:44.313315" elapsed="0.184283">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:44.313033" elapsed="0.184622">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:39:44.313017" elapsed="0.184670">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:39:44.497978" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:44.497756" elapsed="0.000279"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:44.497739" elapsed="0.000324"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:39:44.311927" elapsed="0.186217">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.516192" elapsed="0.000097"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.515296" elapsed="0.001097"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:54.515194" elapsed="0.001259"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.520075" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:54.519066" elapsed="0.001073"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.521223" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:39:54.520540" elapsed="0.000774"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:39:54.521419" elapsed="0.000080"/>
</return>
<msg time="2026-05-25T00:39:54.521788" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:39:54.518112" elapsed="0.003730"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.525132" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:54.524342" elapsed="0.000874"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:39:54.525384" elapsed="0.000079"/>
</return>
<msg time="2026-05-25T00:39:54.525792" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:39:54.522994" elapsed="0.002866"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.621072" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:54.620392" elapsed="0.000786"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:54.623176" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.622892" elapsed="0.000377">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:54.623468" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:54.622393" elapsed="0.001171"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.625210" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:54.624552" elapsed="0.001044"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:39:54.626892" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:39:54.627165" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:39:54.626576" elapsed="0.000701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.628625" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:54.628213" elapsed="0.000520"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.630385" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:54.630099" elapsed="0.000332"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.630880" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:39:54.630595" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.631254" elapsed="0.000023"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.631465" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.631640" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:39:54.631103" elapsed="0.000595"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.630960" elapsed="0.000768"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:39:54.631777" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:39:54.631968" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:39:54.629721" elapsed="0.002297"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:54.628893" elapsed="0.003165"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.632400" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.632115" elapsed="0.000365"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:54.628836" elapsed="0.003699"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.634594" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:39:54.633661" elapsed="0.001032"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:39:54.634776" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:39:54.618179" elapsed="0.016895"/>
</kw>
<msg time="2026-05-25T00:39:54.635409" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:39:54.563853" elapsed="0.071613"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.647810" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.659791" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.671871" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.672068" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.672257" elapsed="0.000023"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.672677" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.672530" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:54.672514" elapsed="0.000344"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.673002" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.673170" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.673358" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:39:54.672481" elapsed="0.000932"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.672335" elapsed="0.001104"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.673626" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.673703" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:39:54.673824" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:39:54.559356" elapsed="0.114493"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:54.675320" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.674906" elapsed="0.000563">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:54.675680" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:54.674561" elapsed="0.001145"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.676025" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.675777" elapsed="0.000338"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.676869" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:39:54.676365" elapsed="0.000532"/>
</kw>
<status status="PASS" start="2026-05-25T00:39:54.676143" elapsed="0.000790"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:54.675758" elapsed="0.001197"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.679385" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:39:54.677110" elapsed="0.002302"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:39:54.679462" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:39:54.679618" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:54.674209" elapsed="0.005434"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:39:54.680999" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.680619" elapsed="0.000519">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:39:54.681365" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:39:54.680282" elapsed="0.001109"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:39:54.681619" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:39:54.681475" elapsed="0.000204"/>
</branch>
<status status="PASS" start="2026-05-25T00:39:54.681455" elapsed="0.000248"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.681850" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.682021" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.682086" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:39:54.684115" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:39:54.679943" elapsed="0.004199"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.685643" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:54.685336" elapsed="0.000354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:39:54.686107" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:39:54.685843" elapsed="0.000309"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:39:54.693783" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:39:54.693923" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:39:54.694112" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.688302" elapsed="0.006213">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:54.686218" elapsed="0.008380">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.694789" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.694632" elapsed="0.000222"/>
</branch>
<status status="FAIL" start="2026-05-25T00:39:54.686199" elapsed="0.008679">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.695421" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.695589" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:39:54.695552" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:54.695533" elapsed="0.000121"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.695800" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.695870" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.684504" elapsed="0.011475">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.696056" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.536276" elapsed="0.159880">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.696451" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.696268" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:54.696249" elapsed="0.000298"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:39:54.696579" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.530305" elapsed="0.166372">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:39:54.522604" elapsed="0.174140">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:39:54.522192" elapsed="0.174609">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:39:54.517151" elapsed="0.179744">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:39:54.516579" elapsed="0.180371">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:39:54.516544" elapsed="0.180437">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:39:54.697282" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:39:54.697048" elapsed="0.000292"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:39:54.697031" elapsed="0.000333"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:39:54.513748" elapsed="0.183747">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.713093" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.712615" elapsed="0.000588"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:04.712571" elapsed="0.000690"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.715392" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:04.714893" elapsed="0.000530"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.715910" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:40:04.715594" elapsed="0.000343"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:40:04.715986" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:40:04.716155" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:40:04.714334" elapsed="0.001847"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.717588" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:04.717278" elapsed="0.000338"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:40:04.717664" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:40:04.717818" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:40:04.716898" elapsed="0.000945"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.809173" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:04.808212" elapsed="0.001083"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:04.811173" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.810868" elapsed="0.000420">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:04.811517" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:04.810320" elapsed="0.001306"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.813319" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:04.812640" elapsed="0.000778"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:40:04.814769" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:40:04.815041" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:40:04.814442" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.816596" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:04.816151" elapsed="0.000555"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.818409" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:04.818101" elapsed="0.000354"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.818894" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:40:04.818619" elapsed="0.000301"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.819281" elapsed="0.000024"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.819492" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.819669" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:40:04.819116" elapsed="0.000611"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.818973" elapsed="0.000785"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:40:04.819806" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:40:04.819997" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:40:04.817720" elapsed="0.002325"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:04.816865" elapsed="0.003220"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.820739" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.820144" elapsed="0.000677"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:04.816808" elapsed="0.004209"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.824623" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:40:04.821976" elapsed="0.002752"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:40:04.824814" elapsed="0.000055"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:40:04.805810" elapsed="0.019309"/>
</kw>
<msg time="2026-05-25T00:40:04.825450" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:40:04.754602" elapsed="0.070904"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.837755" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.849789" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.861816" elapsed="0.000030"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.862030" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.862255" elapsed="0.000024"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.862700" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.862546" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:04.862529" elapsed="0.000358"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.863032" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.863204" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.863404" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:40:04.862492" elapsed="0.000967"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.862338" elapsed="0.001149"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.863634" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.863710" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:40:04.863842" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:40:04.750434" elapsed="0.113434"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:04.865405" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.864971" elapsed="0.000622">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:04.865815" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:04.864595" elapsed="0.001246"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.866259" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.865915" elapsed="0.000460"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.867123" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:04.866610" elapsed="0.000543"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:04.866404" elapsed="0.000787"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:04.865895" elapsed="0.001318"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.869657" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:04.867399" elapsed="0.002286"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:40:04.869737" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:40:04.869897" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:04.864229" elapsed="0.005693"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:04.871354" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.870939" elapsed="0.000561">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:04.871714" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:04.870597" elapsed="0.001143"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:40:04.871951" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:40:04.871813" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:04.871794" elapsed="0.000241"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.872183" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.872422" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.872491" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:40:04.874595" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:04.870264" elapsed="0.004358"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.876113" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:04.875831" elapsed="0.000329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:04.876623" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:04.876350" elapsed="0.000318"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:40:04.883338" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:40:04.883481" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:40:04.883681" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.878777" elapsed="0.005278">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:04.876737" elapsed="0.007402">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.884368" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.884174" elapsed="0.000264"/>
</branch>
<status status="FAIL" start="2026-05-25T00:40:04.876717" elapsed="0.007746">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.884994" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.885173" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:40:04.885134" elapsed="0.000081"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:04.885115" elapsed="0.000139"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.885405" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.885477" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.874971" elapsed="0.010616">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.885665" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.728579" elapsed="0.157188">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.886043" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.885863" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:04.885845" elapsed="0.000295"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:04.886194" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.722570" elapsed="0.163742">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:40:04.716484" elapsed="0.169896">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:40:04.716335" elapsed="0.170103">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:40:04.713706" elapsed="0.172823">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:04.713343" elapsed="0.173240">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:40:04.713321" elapsed="0.173292">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:40:04.886902" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:04.886678" elapsed="0.000280"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:04.886662" elapsed="0.000320"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:40:04.711879" elapsed="0.175179">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:40:14.903746" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:14.903337" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:14.903311" elapsed="0.000540"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:14.905533" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:14.905058" elapsed="0.000505"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:40:14.906095" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:40:14.905735" elapsed="0.000388"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:40:14.906173" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:40:14.906361" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:40:14.904630" elapsed="0.001758"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:14.907837" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:14.907221" elapsed="0.000647"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:40:14.907917" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:40:14.908091" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:40:14.906860" elapsed="0.001259"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:14.999866" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:14.999056" elapsed="0.000920"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:15.001874" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:15.001561" elapsed="0.000391">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:15.002156" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:15.000995" elapsed="0.001517"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.004271" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:15.003561" elapsed="0.000811"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:40:15.005703" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:40:15.005983" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:40:15.005362" elapsed="0.000718"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.007729" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:15.007086" elapsed="0.000758"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.009390" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:15.009081" elapsed="0.000358"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.009900" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:40:15.009609" elapsed="0.000318"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.010436" elapsed="0.000025"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.010664" elapsed="0.000027"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.010850" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:40:15.010124" elapsed="0.000786"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.009979" elapsed="0.000963"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:40:15.010991" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:40:15.011188" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:40:15.008682" elapsed="0.002561"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:15.008010" elapsed="0.003293"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.011648" elapsed="0.000071"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:15.011365" elapsed="0.000402"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:15.007951" elapsed="0.003874"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.013580" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:40:15.012814" elapsed="0.000867"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:40:15.013771" elapsed="0.000063"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:40:14.996366" elapsed="0.017723"/>
</kw>
<msg time="2026-05-25T00:40:15.014575" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:40:14.944909" elapsed="0.069727"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.027509" elapsed="0.000042"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.039896" elapsed="0.000049"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.052341" elapsed="0.000057"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.052633" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.052821" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.053366" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:15.053178" elapsed="0.000351"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:15.053158" elapsed="0.000402"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.053709" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.053879" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.054045" elapsed="0.000024"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:40:15.053110" elapsed="0.000995"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.052903" elapsed="0.001231"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.054304" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.054386" elapsed="0.000019"/>
</return>
<msg time="2026-05-25T00:40:15.054550" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:40:14.940632" elapsed="0.113945"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:15.056291" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:15.055807" elapsed="0.000696">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:15.056721" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:15.055393" elapsed="0.001354"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.057097" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:15.056823" elapsed="0.000397"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.058014" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:15.057494" elapsed="0.000548"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:15.057282" elapsed="0.000797"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:15.056802" elapsed="0.001300"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.060615" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:15.058282" elapsed="0.002367"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:40:15.060706" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:40:15.060876" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:15.054981" elapsed="0.005920"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:15.062463" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:15.061974" elapsed="0.000639">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:15.062831" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:15.061609" elapsed="0.001252"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:40:15.063086" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:40:15.062938" elapsed="0.000208"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:15.062917" elapsed="0.000253"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.063337" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.063516" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.063583" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:40:15.065779" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:15.061233" elapsed="0.004574"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.067409" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:15.067091" elapsed="0.000368"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:15.067889" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:15.067616" elapsed="0.000320"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:40:15.075018" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:40:15.075161" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:40:15.075377" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:40:15.070204" elapsed="0.005588">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:15.068004" elapsed="0.007872">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.076081" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:15.075911" elapsed="0.000239"/>
</branch>
<status status="FAIL" start="2026-05-25T00:40:15.067985" elapsed="0.008190">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.076777" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.076968" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:40:15.076929" elapsed="0.000082"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:15.076910" elapsed="0.000123"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.077182" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.077273" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:40:15.066195" elapsed="0.011191">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.077462" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:40:14.918242" elapsed="0.159319">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.077837" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:15.077658" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:15.077640" elapsed="0.000293"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:15.077965" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:40:14.912058" elapsed="0.166008">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:40:14.906686" elapsed="0.171456">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:40:14.906537" elapsed="0.171676">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:40:14.904193" elapsed="0.174159">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:14.903911" elapsed="0.174499">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:40:14.903894" elapsed="0.174547">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:40:15.078735" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:15.078510" elapsed="0.000281"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:15.078493" elapsed="0.000322"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:40:14.902673" elapsed="0.176221">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.093775" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.093370" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:25.093343" elapsed="0.000545"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.095608" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:25.095092" elapsed="0.000547"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.096128" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:40:25.095813" elapsed="0.000342"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:40:25.096205" elapsed="0.000058"/>
</return>
<msg time="2026-05-25T00:40:25.096400" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:40:25.094641" elapsed="0.001784"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.097883" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:25.097573" elapsed="0.000338"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:40:25.097959" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:40:25.098112" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:40:25.096914" elapsed="0.001223"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.189037" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:25.188045" elapsed="0.001099"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:25.190965" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.190681" elapsed="0.000358">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:25.191253" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:25.190157" elapsed="0.001199"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.193221" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:25.192554" elapsed="0.000784"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:40:25.194641" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:40:25.194954" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:40:25.194320" elapsed="0.000734"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.196645" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:25.196038" elapsed="0.000719"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.198209" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:25.197941" elapsed="0.000332"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.198712" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:40:25.198437" elapsed="0.000301"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.199113" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.199338" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.199517" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:40:25.198976" elapsed="0.000599"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.198832" elapsed="0.000774"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:40:25.199652" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:40:25.199843" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:40:25.197563" elapsed="0.002330"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:25.196918" elapsed="0.003016"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.200440" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.199994" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:25.196861" elapsed="0.003718"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.202302" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:40:25.201564" elapsed="0.000845"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:40:25.202495" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:40:25.185701" elapsed="0.017129"/>
</kw>
<msg time="2026-05-25T00:40:25.203151" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:40:25.134088" elapsed="0.069120"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.215957" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.228202" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.240180" elapsed="0.000027"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.240391" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.240569" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.240980" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.240833" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:25.240818" elapsed="0.000343"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.241330" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.241502" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.241669" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:40:25.240786" elapsed="0.000935"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.240644" elapsed="0.001103"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.241893" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.241969" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:40:25.242088" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:40:25.129828" elapsed="0.112286"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:25.243612" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.243206" elapsed="0.000548">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:25.243962" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:25.242817" elapsed="0.001171"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.244327" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.244060" elapsed="0.000360"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.245159" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:25.244650" elapsed="0.000536"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:25.244448" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:25.244041" elapsed="0.001219"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.247700" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:25.245415" elapsed="0.002313"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:40:25.247779" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:40:25.247936" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:25.242489" elapsed="0.005473"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:25.249358" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.248957" elapsed="0.000543">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:25.249711" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:25.248615" elapsed="0.001122"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:40:25.249945" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:40:25.249809" elapsed="0.000196"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:25.249790" elapsed="0.000238"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.250175" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.250366" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.250433" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:40:25.252533" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:25.248284" elapsed="0.004276"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.254014" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:25.253740" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:25.254499" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:25.254215" elapsed="0.000330"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:40:25.261311" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:40:25.261453" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:40:25.261640" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.256664" elapsed="0.005338">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:25.254611" elapsed="0.007473">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.262292" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.262118" elapsed="0.000240"/>
</branch>
<status status="FAIL" start="2026-05-25T00:40:25.254593" elapsed="0.007790">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.262905" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.263117" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:40:25.263036" elapsed="0.000125"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:25.263017" elapsed="0.000167"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.263348" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.263421" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.252905" elapsed="0.010625">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.263607" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.108015" elapsed="0.155692">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.263982" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.263803" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:25.263785" elapsed="0.000295"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:25.264113" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.102027" elapsed="0.162186">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:40:25.096740" elapsed="0.167580">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:40:25.096585" elapsed="0.167794">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:40:25.094207" elapsed="0.170269">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:25.093947" elapsed="0.170583">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:40:25.093931" elapsed="0.170632">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:40:25.264852" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:25.264631" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:25.264615" elapsed="0.000319"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:40:25.092797" elapsed="0.172217">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.281281" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.280908" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:35.280882" elapsed="0.000510"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.283013" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:35.282538" elapsed="0.000505"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.283580" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:40:35.283263" elapsed="0.000344"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:40:35.283657" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:40:35.283829" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:40:35.282094" elapsed="0.001759"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.285297" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:35.284971" elapsed="0.000355"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:40:35.285373" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:40:35.285533" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:40:35.284364" elapsed="0.001194"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.374647" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:35.374011" elapsed="0.000736"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:35.376793" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.376506" elapsed="0.000366">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:35.377067" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:35.375747" elapsed="0.001415"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.378798" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:35.378135" elapsed="0.000760"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:40:35.380198" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:40:35.380712" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:40:35.379883" elapsed="0.000925"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.382144" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:35.381751" elapsed="0.000515"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.383661" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:35.383391" elapsed="0.000315"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.384139" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:40:35.383870" elapsed="0.000295"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.384672" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.384878" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.385053" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:40:35.384535" elapsed="0.000577"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.384213" elapsed="0.000930"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:40:35.385188" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:40:35.385388" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:40:35.382984" elapsed="0.002452"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:35.382416" elapsed="0.003061"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.385806" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.385535" elapsed="0.000350"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:35.382363" elapsed="0.003577"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.387648" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:40:35.386897" elapsed="0.000850"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:40:35.387828" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:40:35.371678" elapsed="0.016446"/>
</kw>
<msg time="2026-05-25T00:40:35.388605" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:40:35.321307" elapsed="0.067355"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.401061" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.413159" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.425135" elapsed="0.000027"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.425359" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.425538" elapsed="0.000020"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.425951" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.425804" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:35.425788" elapsed="0.000345"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.426299" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.426472" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.426640" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:40:35.425757" elapsed="0.000935"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.425611" elapsed="0.001107"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.426863" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.426938" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:40:35.427054" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:40:35.317111" elapsed="0.109968"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:35.428549" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.428152" elapsed="0.000536">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:35.428899" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:35.427811" elapsed="0.001114"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.429259" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.428997" elapsed="0.000351"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.430082" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:35.429582" elapsed="0.000527"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:35.429377" elapsed="0.000768"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:35.428978" elapsed="0.001190"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.432573" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:35.430339" elapsed="0.002260"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:40:35.432650" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:40:35.432805" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:35.427480" elapsed="0.005350"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:35.434186" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.433808" elapsed="0.000536">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:35.434556" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:35.433471" elapsed="0.001110"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:40:35.434789" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:40:35.434654" elapsed="0.000195"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:35.434634" elapsed="0.000239"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.435020" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.435192" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.435281" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:40:35.437321" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:35.433130" elapsed="0.004218"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.438798" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:35.438523" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:35.439324" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:35.438999" elapsed="0.000371"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:40:35.446339" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:40:35.446478" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:40:35.446666" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.441473" elapsed="0.005555">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:35.439456" elapsed="0.007654">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.447317" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.447143" elapsed="0.000241"/>
</branch>
<status status="FAIL" start="2026-05-25T00:40:35.439437" elapsed="0.007972">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.447955" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.448123" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:40:35.448085" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:35.448066" elapsed="0.000122"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.448351" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.448423" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.437690" elapsed="0.010841">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.448608" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.295333" elapsed="0.153373">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.448982" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.448804" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:35.448787" elapsed="0.000291"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:35.449110" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.289371" elapsed="0.159837">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:40:35.284176" elapsed="0.165116">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:40:35.284023" elapsed="0.165327">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:40:35.281706" elapsed="0.167735">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:35.281450" elapsed="0.168045">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:40:35.281435" elapsed="0.168090">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:40:35.449805" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:35.449591" elapsed="0.000270"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:35.449575" elapsed="0.000310"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:40:35.280365" elapsed="0.169597">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.465188" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.464813" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:45.464787" elapsed="0.000523"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.466909" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:45.466448" elapsed="0.000491"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.467439" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:40:45.467108" elapsed="0.000359"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:40:45.467515" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:40:45.467685" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:40:45.466012" elapsed="0.001698"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.469142" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:45.468779" elapsed="0.000391"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:40:45.469218" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:40:45.469386" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:40:45.468417" elapsed="0.000995"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.558804" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:45.557864" elapsed="0.001045"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:45.560686" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.560421" elapsed="0.000340">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:45.560971" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:45.559895" elapsed="0.001176"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.562770" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:45.562065" elapsed="0.000804"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:40:45.564170" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:40:45.564672" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:40:45.563853" elapsed="0.000914"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.566757" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:45.566021" elapsed="0.000854"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.568458" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:45.568150" elapsed="0.000361"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.568997" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:40:45.568678" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.569394" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.569629" elapsed="0.002080"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.571896" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:40:45.569251" elapsed="0.002709"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.569086" elapsed="0.002907"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:40:45.572043" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:40:45.572258" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:40:45.567759" elapsed="0.004553"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:45.567055" elapsed="0.005300"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.572708" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.572432" elapsed="0.000365"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:45.566992" elapsed="0.005877"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.574777" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:40:45.573883" elapsed="0.000993"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:40:45.574963" elapsed="0.000072"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:40:45.555552" elapsed="0.019757"/>
</kw>
<msg time="2026-05-25T00:40:45.575672" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:40:45.505062" elapsed="0.070681"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.588260" elapsed="0.000031"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.600244" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.612270" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.612467" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.612643" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.613076" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.612911" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:45.612895" elapsed="0.000388"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.613429" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.613600" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.613768" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:40:45.612863" elapsed="0.000958"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.612718" elapsed="0.001129"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.613993" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.614069" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:40:45.614190" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:40:45.500842" elapsed="0.113374"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:45.615702" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.615290" elapsed="0.000561">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:45.616063" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:45.614927" elapsed="0.001161"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.616485" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.616161" elapsed="0.000418"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.617367" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:45.616809" elapsed="0.000587"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:45.616607" elapsed="0.000825"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:45.616142" elapsed="0.001312"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.619868" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:45.617608" elapsed="0.002287"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:40:45.619947" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:40:45.620108" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:45.614594" elapsed="0.005538"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:45.621607" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.621151" elapsed="0.000596">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:45.621958" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:45.620788" elapsed="0.001196"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:40:45.622194" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:40:45.622057" elapsed="0.000220"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:45.622038" elapsed="0.000265"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.622453" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.622626" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.622693" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:40:45.624750" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:45.620459" elapsed="0.004318"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.626291" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:45.625988" elapsed="0.000351"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:45.626765" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:45.626496" elapsed="0.000314"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:40:45.635007" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:40:45.635148" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:40:45.635362" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.628908" elapsed="0.006831">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:45.626879" elapsed="0.008944">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.636010" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.635856" elapsed="0.000225"/>
</branch>
<status status="FAIL" start="2026-05-25T00:40:45.626860" elapsed="0.009245">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.636648" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.636820" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:40:45.636782" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:45.636763" elapsed="0.000121"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.637061" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.637133" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.625156" elapsed="0.012101">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.637336" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.479119" elapsed="0.158318">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.637709" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.637531" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:45.637513" elapsed="0.000292"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:45.637837" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.473206" elapsed="0.164728">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:40:45.468002" elapsed="0.169997">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:40:45.467856" elapsed="0.170199">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:40:45.465624" elapsed="0.172522">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:45.465367" elapsed="0.172831">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:40:45.465352" elapsed="0.172876">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:40:45.638536" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:45.638317" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:45.638300" elapsed="0.000316"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:40:45.464284" elapsed="0.174409">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.654647" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.654203" elapsed="0.000535"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:55.654176" elapsed="0.000598"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.656784" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:55.656271" elapsed="0.000544"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.657323" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:40:55.656986" elapsed="0.000365"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:40:55.657400" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:40:55.657586" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:40:55.655757" elapsed="0.001855"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.659146" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:55.658525" elapsed="0.000651"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:40:55.659223" elapsed="0.000048"/>
</return>
<msg time="2026-05-25T00:40:55.659404" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:40:55.658131" elapsed="0.001299"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.754692" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:55.753152" elapsed="0.001769"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:55.758530" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.758044" elapsed="0.000590">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:55.758917" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:55.756968" elapsed="0.002084"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.761852" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:55.760892" elapsed="0.001098"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:40:55.763821" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:40:55.764436" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:40:55.763352" elapsed="0.001234"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.766656" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:55.766043" elapsed="0.000771"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.769285" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:55.768866" elapsed="0.000488"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.769996" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:40:55.769596" elapsed="0.000438"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.770540" elapsed="0.000032"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.770848" elapsed="0.000035"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.771109" elapsed="0.000031"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:40:55.770336" elapsed="0.000858"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.770109" elapsed="0.001150"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:40:55.771330" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:40:55.771610" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:40:55.768117" elapsed="0.003566"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:55.767045" elapsed="0.004698"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.772456" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.771831" elapsed="0.000771"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:55.766963" elapsed="0.005727"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.775388" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:40:55.774226" elapsed="0.001308"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:40:55.775652" elapsed="0.000078"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:40:55.750016" elapsed="0.026063"/>
</kw>
<msg time="2026-05-25T00:40:55.776569" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:40:55.696188" elapsed="0.080443"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.789362" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.801726" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.815286" elapsed="0.000030"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.815494" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.815674" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.816105" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.815954" elapsed="0.000358"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:55.815939" elapsed="0.000402"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.816523" elapsed="0.000026"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.816726" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.816898" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:40:55.815903" elapsed="0.001049"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.815753" elapsed="0.001225"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.817128" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.817204" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:40:55.817368" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:40:55.691886" elapsed="0.125510"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:55.818919" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.818503" elapsed="0.000569">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:55.819301" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:55.818115" elapsed="0.001212"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.819656" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.819401" elapsed="0.000354"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.820614" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:40:55.820019" elapsed="0.000629"/>
</kw>
<status status="PASS" start="2026-05-25T00:40:55.819784" elapsed="0.000903"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:55.819382" elapsed="0.001329"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.823616" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:40:55.820869" elapsed="0.002781"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:40:55.823712" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:40:55.823882" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:55.817769" elapsed="0.006144"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:40:55.825414" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.824987" elapsed="0.000595">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:40:55.825849" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:40:55.824627" elapsed="0.001255"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:40:55.826169" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-05-25T00:40:55.825973" elapsed="0.000293"/>
</branch>
<status status="PASS" start="2026-05-25T00:40:55.825949" elapsed="0.000351"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.826495" elapsed="0.000029"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.826723" elapsed="0.000027"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.826807" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:40:55.829636" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:40:55.824281" elapsed="0.005388"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.831521" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:55.831150" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:40:55.832091" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:40:55.831792" elapsed="0.000381"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:40:55.839305" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:40:55.839451" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:40:55.839642" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.834474" elapsed="0.005564">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:55.832275" elapsed="0.007846">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.840659" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.840395" elapsed="0.000341"/>
</branch>
<status status="FAIL" start="2026-05-25T00:40:55.832252" elapsed="0.008510">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.841380" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.841574" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:40:55.841529" elapsed="0.000089"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:55.841510" elapsed="0.000130"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.841789" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.841861" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.830107" elapsed="0.011878">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.842073" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.669963" elapsed="0.172213">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.842493" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.842311" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:55.842292" elapsed="0.000299"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:40:55.842624" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.663559" elapsed="0.179167">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:40:55.657953" elapsed="0.184838">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:40:55.657793" elapsed="0.185057">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:40:55.655135" elapsed="0.187809">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:40:55.654844" elapsed="0.188154">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:40:55.654825" elapsed="0.188204">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:40:55.843340" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:40:55.843097" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:40:55.843080" elapsed="0.000342"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:40:55.653622" elapsed="0.189879">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.860643" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:05.860134" elapsed="0.000621"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:05.860076" elapsed="0.000718"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.863088" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:05.862446" elapsed="0.000682"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.863820" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:41:05.863386" elapsed="0.000472"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:41:05.863926" elapsed="0.000049"/>
</return>
<msg time="2026-05-25T00:41:05.864215" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:41:05.861833" elapsed="0.002442"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.865998" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:05.865685" elapsed="0.000341"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:41:05.866073" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:41:05.866225" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:41:05.864962" elapsed="0.001304"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.959844" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:05.959149" elapsed="0.000804"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:05.962057" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:05.961766" elapsed="0.000367">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:05.962349" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:05.961022" elapsed="0.001427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.964110" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:05.963455" elapsed="0.001058"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:41:05.965781" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:41:05.966062" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:41:05.965468" elapsed="0.000690"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.967545" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:05.967119" elapsed="0.000538"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.969505" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:05.969223" elapsed="0.000327"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.969985" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:41:05.969713" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.970364" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.970572" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.970748" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:41:05.970207" elapsed="0.000599"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:41:05.970065" elapsed="0.000772"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:41:05.970886" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:41:05.971076" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:41:05.968852" elapsed="0.002272"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:05.968006" elapsed="0.003159"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.971514" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:05.971222" elapsed="0.000372"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:05.967763" elapsed="0.003885"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:41:05.973484" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:41:05.972753" elapsed="0.000831"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:41:05.973668" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:41:05.956797" elapsed="0.017169"/>
</kw>
<msg time="2026-05-25T00:41:05.974305" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:41:05.905327" elapsed="0.069034"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.987012" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:05.999165" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.011316" elapsed="0.000029"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.011522" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.011702" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.012127" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:06.011978" elapsed="0.000361"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:06.011962" elapsed="0.000406"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.012515" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.012687" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.012854" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:41:06.011929" elapsed="0.000978"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.011780" elapsed="0.001154"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.013080" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.013156" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:41:06.013296" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:41:05.901171" elapsed="0.112152"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:06.014799" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:06.014395" elapsed="0.000551">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:06.015158" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:06.014020" elapsed="0.001164"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.015528" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:06.015273" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:06.016464" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:06.015856" elapsed="0.000637"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:06.015651" elapsed="0.000881"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:06.015253" elapsed="0.001301"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:06.019890" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:06.016723" elapsed="0.003206"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:41:06.020004" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:41:06.020299" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:06.013683" elapsed="0.006656"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:06.021837" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:06.021447" elapsed="0.000531">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:06.022191" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:06.021090" elapsed="0.001127"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:41:06.022500" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:41:06.022361" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:06.022341" elapsed="0.000243"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.022731" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.022904" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.022970" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:41:06.025009" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:06.020760" elapsed="0.004276"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:06.026509" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:06.026217" elapsed="0.000339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:06.026981" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:06.026712" elapsed="0.000314"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:41:06.033811" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:41:06.033954" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:41:06.034143" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:41:06.029159" elapsed="0.005373">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:06.027093" elapsed="0.007523">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.034813" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:06.034650" elapsed="0.000229"/>
</branch>
<status status="FAIL" start="2026-05-25T00:41:06.027074" elapsed="0.007829">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.035477" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.035654" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:41:06.035615" elapsed="0.000082"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:06.035597" elapsed="0.000122"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.035868" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.035940" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:41:06.025400" elapsed="0.010648">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.036126" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:41:05.876385" elapsed="0.159893">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.036559" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:06.036378" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:06.036360" elapsed="0.000296"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:06.036690" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:41:05.870341" elapsed="0.166454">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:41:05.864721" elapsed="0.172141">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:41:05.864503" elapsed="0.172418">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:41:05.861290" elapsed="0.175724">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:05.860874" elapsed="0.176194">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:41:05.860852" elapsed="0.176248">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:41:06.037457" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:06.037168" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:06.037151" elapsed="0.000388"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:41:05.859393" elapsed="0.178227">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.054948" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.054449" elapsed="0.000603"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:16.054415" elapsed="0.000675"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.057617" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:16.056893" elapsed="0.000769"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.058469" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:41:16.057970" elapsed="0.000540"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:41:16.058582" elapsed="0.000050"/>
</return>
<msg time="2026-05-25T00:41:16.058825" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:41:16.056146" elapsed="0.002717"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.061015" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:16.060429" elapsed="0.000629"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:41:16.061130" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:41:16.061393" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:41:16.059559" elapsed="0.001872"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.165475" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:16.164737" elapsed="0.000846"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:16.167578" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.167278" elapsed="0.000377">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:16.167852" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:16.166755" elapsed="0.001194"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.169908" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:16.169244" elapsed="0.000762"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:41:16.171296" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:41:16.171570" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:41:16.170966" elapsed="0.000702"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.173348" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:16.172930" elapsed="0.000528"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.174903" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:16.174635" elapsed="0.000315"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.175405" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:41:16.175114" elapsed="0.000318"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.175764" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.175974" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.176151" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:41:16.175626" elapsed="0.000583"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.175485" elapsed="0.000833"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:41:16.176368" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:41:16.176558" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:41:16.174254" elapsed="0.002354"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:16.173618" elapsed="0.003060"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.177015" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.176740" elapsed="0.000355"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:16.173560" elapsed="0.003590"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.178847" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:41:16.178116" elapsed="0.000830"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:41:16.179028" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:41:16.162405" elapsed="0.016948"/>
</kw>
<msg time="2026-05-25T00:41:16.179681" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:41:16.102448" elapsed="0.077291"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.193081" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.205163" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.217150" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.217371" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.217549" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.217979" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.217830" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:16.217814" elapsed="0.000347"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.218327" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.218518" elapsed="0.000027"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.218709" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:41:16.217781" elapsed="0.000982"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.217626" elapsed="0.001164"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.218938" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.219014" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:41:16.219135" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:41:16.097889" elapsed="0.121272"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:16.220648" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.220224" elapsed="0.000590">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:16.221024" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:16.219875" elapsed="0.001175"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.221388" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.221122" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.222220" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:16.221717" elapsed="0.000546"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:16.221516" elapsed="0.000784"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:16.221103" elapsed="0.001220"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.224811" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:16.222478" elapsed="0.002362"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:41:16.224892" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:41:16.225048" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:16.219542" elapsed="0.005531"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:16.226466" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.226060" elapsed="0.000550">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:16.226823" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:16.225720" elapsed="0.001129"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:41:16.227059" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-05-25T00:41:16.226922" elapsed="0.000196"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:16.226902" elapsed="0.000240"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.227310" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.227484" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.227549" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:41:16.229571" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:16.225393" elapsed="0.004205"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.231059" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:16.230784" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:16.231707" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:16.231325" elapsed="0.000428"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:41:16.239486" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:41:16.239628" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:41:16.239816" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.233888" elapsed="0.006296">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:16.231822" elapsed="0.008462">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.240476" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.240319" elapsed="0.000222"/>
</branch>
<status status="FAIL" start="2026-05-25T00:41:16.231803" elapsed="0.008762">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.241193" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.241465" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:41:16.241407" elapsed="0.000122"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:16.241380" elapsed="0.000183"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.241783" elapsed="0.000032"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.241888" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.229943" elapsed="0.012106">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.242163" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.075147" elapsed="0.167183">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.242736" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.242472" elapsed="0.000371"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:16.242447" elapsed="0.000432"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:16.242927" elapsed="0.000022"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.067119" elapsed="0.175963">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:41:16.059305" elapsed="0.183870">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:41:16.059068" elapsed="0.184279">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:41:16.055576" elapsed="0.187909">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:16.055173" elapsed="0.188388">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:41:16.055150" elapsed="0.188454">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:41:16.244003" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:16.243698" elapsed="0.000394"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:16.243675" elapsed="0.000453"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:41:16.053682" elapsed="0.190582">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.262060" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.261557" elapsed="0.000610"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:26.261522" elapsed="0.000685"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.263934" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:26.263458" elapsed="0.000506"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.264496" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:41:26.264153" elapsed="0.000371"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:41:26.264574" elapsed="0.000040"/>
</return>
<msg time="2026-05-25T00:41:26.264746" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:41:26.263003" elapsed="0.001769"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.266254" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:26.265914" elapsed="0.000375"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:41:26.266338" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:41:26.266498" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:41:26.265546" elapsed="0.000978"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.355907" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:26.355280" elapsed="0.000730"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:26.358062" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.357775" elapsed="0.000359">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:26.358346" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:26.357229" elapsed="0.001214"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.360096" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:26.359433" elapsed="0.000764"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:41:26.361788" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:41:26.362073" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:41:26.361208" elapsed="0.000964"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.363561" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:26.363146" elapsed="0.000525"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.365246" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:26.364968" elapsed="0.000325"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.365762" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:41:26.365489" elapsed="0.000300"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.366111" elapsed="0.000021"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.366332" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.366510" elapsed="0.002030"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:41:26.365975" elapsed="0.002615"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.365839" elapsed="0.002783"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:41:26.368668" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:41:26.368862" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:41:26.364593" elapsed="0.004320"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:26.363822" elapsed="0.005132"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.369311" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.369015" elapsed="0.000398"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:26.363767" elapsed="0.005706"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.371188" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:41:26.370460" elapsed="0.000848"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:41:26.371394" elapsed="0.000055"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:41:26.353128" elapsed="0.018571"/>
</kw>
<msg time="2026-05-25T00:41:26.372008" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:41:26.302672" elapsed="0.069391"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.384426" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.396460" elapsed="0.000027"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.408619" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.408814" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.408994" elapsed="0.000022"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.409457" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.409285" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:26.409268" elapsed="0.000372"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.409784" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.409954" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.410121" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:41:26.409215" elapsed="0.000958"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.409071" elapsed="0.001128"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.410363" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.410439" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:41:26.410557" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:41:26.298449" elapsed="0.112134"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:26.412018" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.411629" elapsed="0.000532">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:26.412386" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:26.411281" elapsed="0.001131"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.412740" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.412486" elapsed="0.000343"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.413598" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:26.413056" elapsed="0.000570"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:26.412857" elapsed="0.000805"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:26.412466" elapsed="0.001218"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.416078" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:26.413837" elapsed="0.002268"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:41:26.416156" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:41:26.416327" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:26.410934" elapsed="0.005422"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:26.417780" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.417360" elapsed="0.000561">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:26.418131" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:26.416989" elapsed="0.001168"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:41:26.418381" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:41:26.418228" elapsed="0.000214"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:26.418209" elapsed="0.000257"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.418614" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.418785" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.418851" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:41:26.465770" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:26.416661" elapsed="0.049150"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.467574" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:26.467230" elapsed="0.000396"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:26.468052" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:26.467782" elapsed="0.000316"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:41:26.475108" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:41:26.475272" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:41:26.475494" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.470289" elapsed="0.005591">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:26.468173" elapsed="0.007791">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.476155" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.475999" elapsed="0.000221"/>
</branch>
<status status="FAIL" start="2026-05-25T00:41:26.468149" elapsed="0.008112">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.476800" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.476994" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:41:26.476954" elapsed="0.000084"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:26.476935" elapsed="0.000125"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.477207" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.477295" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.466331" elapsed="0.011103">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.477516" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.276532" elapsed="0.201090">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.477898" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.477718" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:26.477700" elapsed="0.000295"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:26.478027" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.270410" elapsed="0.207717">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:41:26.265071" elapsed="0.213124">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:41:26.264922" elapsed="0.213347">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:41:26.262593" elapsed="0.215775">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:26.262308" elapsed="0.216117">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:41:26.262285" elapsed="0.216171">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:41:26.478742" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:26.478522" elapsed="0.000277"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:26.478505" elapsed="0.000318"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:41:26.260770" elapsed="0.218131">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.495006" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.494587" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:36.494552" elapsed="0.000564"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.496750" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:36.496289" elapsed="0.000490"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.497278" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:41:36.496949" elapsed="0.000357"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:41:36.497354" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:41:36.497523" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:41:36.495851" elapsed="0.001698"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.498814" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:36.498504" elapsed="0.000338"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:41:36.498890" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:41:36.499038" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:41:36.498093" elapsed="0.000970"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.590372" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:36.589482" elapsed="0.001009"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:36.592358" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.592059" elapsed="0.000378">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:36.592637" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:36.591516" elapsed="0.001219"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.594828" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:36.594004" elapsed="0.000936"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:41:36.596299" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:41:36.596611" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:41:36.595942" elapsed="0.000777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.598202" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:36.597747" elapsed="0.000789"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.601039" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:36.600611" elapsed="0.000497"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.602050" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:41:36.601638" elapsed="0.000451"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.602705" elapsed="0.000030"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.603113" elapsed="0.000035"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.603388" elapsed="0.000033"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:41:36.602511" elapsed="0.000965"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.602165" elapsed="0.001360"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:41:36.603595" elapsed="0.000055"/>
</return>
<msg time="2026-05-25T00:41:36.603888" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:41:36.599981" elapsed="0.003978"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:36.598750" elapsed="0.005271"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.604531" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.604108" elapsed="0.000536"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:36.598649" elapsed="0.006076"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.607638" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:41:36.606556" elapsed="0.001206"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:41:36.607872" elapsed="0.000073"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:41:36.586776" elapsed="0.021515"/>
</kw>
<msg time="2026-05-25T00:41:36.608748" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:41:36.535330" elapsed="0.073504"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.626870" elapsed="0.000045"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.644228" elapsed="0.000066"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.666868" elapsed="0.000034"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.667103" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.667309" elapsed="0.000022"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.667807" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.667628" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:36.667608" elapsed="0.000393"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.668152" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.668355" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.668526" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:41:36.667565" elapsed="0.001016"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.667398" elapsed="0.001210"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.668773" elapsed="0.000023"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.668856" elapsed="0.000018"/>
</return>
<msg time="2026-05-25T00:41:36.669003" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:41:36.531061" elapsed="0.137972"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:36.670772" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.670201" elapsed="0.000730">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:36.671157" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:36.669812" elapsed="0.001384"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.671573" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.671296" elapsed="0.000409"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.672505" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:36.671961" elapsed="0.000572"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:36.671750" elapsed="0.000821"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:36.671274" elapsed="0.001319"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.675391" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:36.672775" elapsed="0.002657"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:41:36.675511" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:41:36.675749" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:36.669454" elapsed="0.006332"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:36.677866" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.677291" elapsed="0.000784">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:36.678514" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:36.676762" elapsed="0.001793"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:41:36.678884" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-05-25T00:41:36.678667" elapsed="0.000306"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:36.678638" elapsed="0.000372"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.679230" elapsed="0.000055"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.679511" elapsed="0.000030"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.679608" elapsed="0.000022"/>
</return>
<msg time="2026-05-25T00:41:36.682783" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:36.676268" elapsed="0.006555"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.685004" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:36.684598" elapsed="0.000476"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:36.685763" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:36.685368" elapsed="0.000460"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:41:36.693796" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:41:36.693952" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:41:36.694159" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.688220" elapsed="0.006409">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:36.685928" elapsed="0.008818">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.695065" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.694799" elapsed="0.000365"/>
</branch>
<status status="FAIL" start="2026-05-25T00:41:36.685900" elapsed="0.009299">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.696029" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.696346" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:41:36.696286" elapsed="0.000125"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:36.696255" elapsed="0.000189"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.696665" elapsed="0.000033"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.696771" elapsed="0.000022"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.683364" elapsed="0.013570">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.697048" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.508858" elapsed="0.188335">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.697628" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.697364" elapsed="0.000372"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:36.697338" elapsed="0.000433"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:36.697818" elapsed="0.000021"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.502902" elapsed="0.195062">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:41:36.497919" elapsed="0.200143">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:41:36.497765" elapsed="0.200383">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:41:36.495456" elapsed="0.202984">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:36.495174" elapsed="0.203352">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:41:36.495158" elapsed="0.203413">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:41:36.698996" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:36.698671" elapsed="0.000408"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:36.698647" elapsed="0.000468"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:41:36.493767" elapsed="0.205465">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.714936" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.714454" elapsed="0.000587"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:46.714421" elapsed="0.000704"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.717013" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:46.716557" elapsed="0.000485"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.717562" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:41:46.717246" elapsed="0.000343"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:41:46.717637" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:41:46.717804" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:41:46.716107" elapsed="0.001722"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.719250" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:46.718916" elapsed="0.000363"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:41:46.719326" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:41:46.719477" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:41:46.718555" elapsed="0.000948"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.808676" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:46.808023" elapsed="0.000753"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:46.810775" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.810503" elapsed="0.000348">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:46.811053" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:46.809999" elapsed="0.001164"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.812849" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:46.812141" elapsed="0.000808"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:41:46.814491" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:41:46.814756" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:41:46.814159" elapsed="0.000695"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.816331" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:46.815895" elapsed="0.000547"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.818003" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:46.817737" elapsed="0.000311"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.818511" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:41:46.818211" elapsed="0.000326"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.818858" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.819225" elapsed="0.000041"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.819424" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:41:46.818722" elapsed="0.000763"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.818585" elapsed="0.000931"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:41:46.819560" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:41:46.819745" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:41:46.817171" elapsed="0.002622"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:46.816591" elapsed="0.003243"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.820164" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.819892" elapsed="0.000366"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:46.816539" elapsed="0.003776"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.822134" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:41:46.821417" elapsed="0.000829"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:41:46.822333" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:41:46.805817" elapsed="0.016815"/>
</kw>
<msg time="2026-05-25T00:41:46.822936" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:41:46.755326" elapsed="0.067667"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.835492" elapsed="0.000078"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.847585" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.859551" elapsed="0.000027"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.859752" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.859933" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.860396" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.860220" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:46.860202" elapsed="0.000378"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.860728" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.860898" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.861064" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:41:46.860167" elapsed="0.000949"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.860016" elapsed="0.001127"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.861308" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.861386" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:41:46.861511" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:41:46.751134" elapsed="0.110403"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:46.863025" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.862616" elapsed="0.000594">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:46.863441" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:46.862256" elapsed="0.001211"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.863793" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.863540" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.864659" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:46.864135" elapsed="0.000553"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:46.863930" elapsed="0.000795"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:46.863521" elapsed="0.001225"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.867193" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:46.864901" elapsed="0.002320"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:41:46.867287" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:41:46.867446" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:46.861899" elapsed="0.005571"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:46.868878" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.868473" elapsed="0.000548">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:46.869260" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:46.868104" elapsed="0.001184"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:41:46.869504" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-05-25T00:41:46.869363" elapsed="0.000201"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:46.869343" elapsed="0.000246"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.869740" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.869913" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.869979" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:41:46.872070" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:46.867777" elapsed="0.004320"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.873627" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:46.873347" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:46.874097" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:46.873831" elapsed="0.000310"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:41:46.880928" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:41:46.881066" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:41:46.881277" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.876277" elapsed="0.005383">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:46.874209" elapsed="0.007533">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.881960" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.881776" elapsed="0.000266"/>
</branch>
<status status="FAIL" start="2026-05-25T00:41:46.874190" elapsed="0.007883">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.882657" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.882830" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:41:46.882791" elapsed="0.000082"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:46.882773" elapsed="0.000123"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.883045" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.883116" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.872460" elapsed="0.010808">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.883349" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.729270" elapsed="0.154179">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.883758" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.883546" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:46.883528" elapsed="0.000349"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:46.883911" elapsed="0.000016"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.723308" elapsed="0.160707">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:41:46.718141" elapsed="0.165953">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:41:46.717985" elapsed="0.166168">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:41:46.715597" elapsed="0.168665">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:46.715212" elapsed="0.169109">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:41:46.715188" elapsed="0.169164">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:41:46.884640" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:46.884419" elapsed="0.000277"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:46.884403" elapsed="0.000317"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:41:46.713720" elapsed="0.171078">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:41:56.899804" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:56.899460" elapsed="0.000418"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:56.899435" elapsed="0.000471"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:56.901534" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:56.901039" elapsed="0.000525"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:41:56.902037" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:41:56.901731" elapsed="0.000334"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:41:56.902112" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:41:56.902296" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:41:56.900621" elapsed="0.001702"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:56.903723" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:56.903411" elapsed="0.000340"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:41:56.903797" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:41:56.903949" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:41:56.903034" elapsed="0.000941"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:56.994541" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:56.993688" elapsed="0.000988"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:56.997787" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:56.996927" elapsed="0.000960">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:56.998144" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:56.996212" elapsed="0.002057"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:56.999995" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:56.999320" elapsed="0.000777"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:41:57.001477" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:41:57.001772" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:41:57.001098" elapsed="0.000772"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.003522" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:57.002928" elapsed="0.000708"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.005132" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:57.004866" elapsed="0.000313"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.005746" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:41:57.005469" elapsed="0.000304"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.006105" elapsed="0.000023"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.006332" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.006512" elapsed="0.000208"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:41:57.005968" elapsed="0.000793"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.005825" elapsed="0.000969"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:41:57.006841" elapsed="0.000051"/>
</return>
<msg time="2026-05-25T00:41:57.007055" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:41:57.004471" elapsed="0.002633"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:57.003801" elapsed="0.003344"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.007501" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:57.007204" elapsed="0.000377"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:57.003741" elapsed="0.003896"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.009564" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:41:57.008630" elapsed="0.001034"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:41:57.009749" elapsed="0.000052"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:41:56.990584" elapsed="0.019464"/>
</kw>
<msg time="2026-05-25T00:41:57.010382" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:41:56.939723" elapsed="0.070716"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.022941" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.034981" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.047388" elapsed="0.000029"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.047610" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.047790" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.048213" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:57.048063" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:57.048045" elapsed="0.000381"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.048572" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.048740" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.048907" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:41:57.048012" elapsed="0.000948"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.047866" elapsed="0.001120"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.049133" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.049208" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:41:57.049350" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:41:56.935504" elapsed="0.113872"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:57.050859" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:57.050446" elapsed="0.000562">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:57.051223" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:57.050076" elapsed="0.001189"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.051636" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:57.051340" elapsed="0.000412"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.052538" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:41:57.051989" elapsed="0.000579"/>
</kw>
<status status="PASS" start="2026-05-25T00:41:57.051782" elapsed="0.000825"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:57.051321" elapsed="0.001309"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.055042" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:41:57.052789" elapsed="0.002281"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:41:57.055123" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:41:57.055301" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:57.049739" elapsed="0.005589"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:41:57.056756" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:41:57.056367" elapsed="0.000535">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:41:57.057124" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:41:57.056003" elapsed="0.001149"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:41:57.057396" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-05-25T00:41:57.057228" elapsed="0.000231"/>
</branch>
<status status="PASS" start="2026-05-25T00:41:57.057207" elapsed="0.000277"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.057638" elapsed="0.000024"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.057815" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.057883" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:41:57.059980" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:41:57.055668" elapsed="0.004339"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.061561" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:57.061216" elapsed="0.000394"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:41:57.062034" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:41:57.061766" elapsed="0.000314"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:41:57.068742" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:41:57.068886" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:41:57.069080" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:41:57.064204" elapsed="0.005276">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:57.062149" elapsed="0.007418">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.069762" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:57.069602" elapsed="0.000229"/>
</branch>
<status status="FAIL" start="2026-05-25T00:41:57.062129" elapsed="0.007727">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.070423" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.070612" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:41:57.070573" elapsed="0.000091"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:57.070552" elapsed="0.000136"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.070839" elapsed="0.000024"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.070913" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:41:57.060379" elapsed="0.010646">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.071106" elapsed="0.000018"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:41:56.913751" elapsed="0.157460">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.071515" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:57.071332" elapsed="0.000258"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:57.071313" elapsed="0.000303"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:41:57.071651" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:41:56.907801" elapsed="0.163978">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:41:56.902625" elapsed="0.169232">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:41:56.902476" elapsed="0.169443">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:41:56.900218" elapsed="0.171797">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:41:56.899962" elapsed="0.172111">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:41:56.899946" elapsed="0.172160">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:41:57.072428" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:41:57.072177" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:41:57.072159" elapsed="0.000354"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:41:56.898917" elapsed="0.173678">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.085539" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.085125" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:07.085100" elapsed="0.000550"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.087333" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:07.086816" elapsed="0.000548"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.087856" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:42:07.087537" elapsed="0.000346"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:42:07.087934" elapsed="0.000042"/>
</return>
<msg time="2026-05-25T00:42:07.088109" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:42:07.086381" elapsed="0.001752"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.089928" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:07.089561" elapsed="0.000396"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:42:07.090005" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:07.090160" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:42:07.089034" elapsed="0.001151"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.182548" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:07.181655" elapsed="0.001006"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:07.184467" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.184179" elapsed="0.000362">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:07.184759" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:07.183666" elapsed="0.001192"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.186870" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:07.185909" elapsed="0.001062"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:42:07.188477" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:42:07.188780" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:42:07.188121" elapsed="0.000757"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.190640" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:07.189954" elapsed="0.000812"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.192364" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:07.192068" elapsed="0.000342"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.192877" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:42:07.192581" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.193284" elapsed="0.000033"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.193516" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.193696" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:42:07.193113" elapsed="0.000642"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.192961" elapsed="0.000884"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:42:07.193908" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:42:07.194120" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:42:07.191644" elapsed="0.002526"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:07.190942" elapsed="0.003269"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.194818" elapsed="0.001894"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.194531" elapsed="0.002237"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:07.190879" elapsed="0.005948"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.198875" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:42:07.197919" elapsed="0.001071"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:42:07.199078" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:42:07.179446" elapsed="0.019953"/>
</kw>
<msg time="2026-05-25T00:42:07.199719" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:42:07.128154" elapsed="0.071625"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.212322" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.224437" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.236632" elapsed="0.000032"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.236851" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.237037" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.237516" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.237362" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:07.237344" elapsed="0.000360"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.237854" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.238057" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.238230" elapsed="0.000037"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:42:07.237303" elapsed="0.000998"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.237120" elapsed="0.001210"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.238480" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.238558" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:42:07.238696" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:42:07.123893" elapsed="0.114833"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:07.240332" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.239874" elapsed="0.000618">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:07.240709" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:07.239479" elapsed="0.001256"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.241076" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.240809" elapsed="0.000373"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.241947" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:07.241434" elapsed="0.000585"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:07.241211" elapsed="0.000855"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:07.240790" elapsed="0.001304"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.244589" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:07.242312" elapsed="0.002305"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:42:07.244670" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:42:07.244830" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:07.239100" elapsed="0.005755"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:07.246345" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.245856" elapsed="0.000636">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:07.246704" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:07.245513" elapsed="0.001217"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:42:07.246942" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:42:07.246803" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:07.246784" elapsed="0.000242"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.247176" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.247372" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.247440" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:42:07.249516" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:07.245163" elapsed="0.004379"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.251181" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:07.250893" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:07.251679" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:07.251406" elapsed="0.000319"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:42:07.258852" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:42:07.259057" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:42:07.259369" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.253968" elapsed="0.005916">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:07.251795" elapsed="0.008237">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.260380" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.260108" elapsed="0.000376"/>
</branch>
<status status="FAIL" start="2026-05-25T00:42:07.251775" elapsed="0.008746">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.261287" elapsed="0.000040"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.261551" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:42:07.261490" elapsed="0.000124"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:07.261462" elapsed="0.000183"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.261859" elapsed="0.000031"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.261960" elapsed="0.000021"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.249896" elapsed="0.012262">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.262374" elapsed="0.000029"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.101363" elapsed="0.161174">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.262925" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.262672" elapsed="0.000358"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:07.262648" elapsed="0.000416"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:07.263110" elapsed="0.000021"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.094898" elapsed="0.168376">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:42:07.088497" elapsed="0.174875">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:42:07.088309" elapsed="0.175145">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:42:07.085968" elapsed="0.177616">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:07.085707" elapsed="0.177954">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:42:07.085691" elapsed="0.178015">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:42:07.264108" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:07.263797" elapsed="0.000396"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:07.263775" elapsed="0.000453"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:42:07.084593" elapsed="0.179772">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.279453" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.279088" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:17.279061" elapsed="0.000498"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.281229" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:17.280710" elapsed="0.000564"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.281754" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:42:17.281443" elapsed="0.000337"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:42:17.281828" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:42:17.281999" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:42:17.280287" elapsed="0.001737"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.285106" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:17.283855" elapsed="0.001515"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:42:17.285479" elapsed="0.000065"/>
</return>
<msg time="2026-05-25T00:42:17.285822" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:42:17.283030" elapsed="0.002850"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.376065" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:17.375089" elapsed="0.001082"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:17.378018" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.377737" elapsed="0.000357">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:17.378310" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:17.377217" elapsed="0.001193"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.380309" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:17.379629" elapsed="0.000781"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:42:17.381752" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:42:17.382028" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:42:17.381430" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.383741" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:17.383112" elapsed="0.000739"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.385350" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:17.385050" elapsed="0.000346"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.385831" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:42:17.385559" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.386193" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.386417" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.386594" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:42:17.386055" elapsed="0.000598"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.385910" elapsed="0.000774"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:42:17.386732" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:42:17.386925" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:42:17.384667" elapsed="0.002308"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:17.384013" elapsed="0.003006"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.387539" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.387081" elapsed="0.000539"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:17.383954" elapsed="0.003726"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.389473" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:42:17.388679" elapsed="0.000894"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:42:17.389657" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:42:17.372702" elapsed="0.017258"/>
</kw>
<msg time="2026-05-25T00:42:17.390339" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:42:17.321848" elapsed="0.068567"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.403227" elapsed="0.000042"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.415290" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.427328" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.427527" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.427707" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.428135" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.427986" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:17.427968" elapsed="0.000374"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.428488" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.428656" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.428822" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:42:17.427934" elapsed="0.000942"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.427787" elapsed="0.001117"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.429051" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.429171" elapsed="0.000021"/>
</return>
<msg time="2026-05-25T00:42:17.429323" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:42:17.317649" elapsed="0.111701"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:17.430852" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.430435" elapsed="0.000571">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:17.431218" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:17.430054" elapsed="0.001205"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.431588" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.431334" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.432434" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:17.431911" elapsed="0.000550"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:17.431710" elapsed="0.000788"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:17.431314" elapsed="0.001206"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.434948" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:17.432674" elapsed="0.002301"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:42:17.435027" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:17.435183" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:17.429711" elapsed="0.005497"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:17.436594" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.436196" elapsed="0.000540">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:17.436947" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:17.435858" elapsed="0.001115"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:42:17.437216" elapsed="0.000048"/>
</return>
<status status="PASS" start="2026-05-25T00:42:17.437045" elapsed="0.000255"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:17.437026" elapsed="0.000299"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.437475" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.437649" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.437715" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:42:17.439752" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:17.435529" elapsed="0.004249"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.441339" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:17.440980" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:17.441808" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:17.441542" elapsed="0.000311"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:42:17.449345" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:42:17.449490" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:42:17.449683" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.443960" elapsed="0.006102">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:17.441921" elapsed="0.008225">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.450354" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.450180" elapsed="0.000242"/>
</branch>
<status status="FAIL" start="2026-05-25T00:42:17.441903" elapsed="0.008544">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.450976" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.451150" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:42:17.451112" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:17.451093" elapsed="0.000122"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.451429" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.451502" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.440124" elapsed="0.011489">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.451691" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.295869" elapsed="0.155922">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.452074" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.451889" elapsed="0.000260"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:17.451871" elapsed="0.000302"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:17.452206" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.289890" elapsed="0.162434">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:42:17.282653" elapsed="0.169740">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:42:17.282331" elapsed="0.170120">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:42:17.279877" elapsed="0.172670">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:17.279616" elapsed="0.172987">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:42:17.279600" elapsed="0.173034">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:42:17.452922" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:17.452702" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:17.452685" elapsed="0.000318"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:42:17.278564" elapsed="0.174523">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.466719" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.466208" elapsed="0.000618"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:27.466173" elapsed="0.000694"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.468979" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:27.468526" elapsed="0.000483"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.469505" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:42:27.469178" elapsed="0.000355"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:42:27.469582" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:42:27.469751" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:42:27.467960" elapsed="0.001817"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.471217" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:27.470913" elapsed="0.000347"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:42:27.471309" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:27.471461" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:42:27.470306" elapsed="0.001181"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.562804" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:27.562080" elapsed="0.000833"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:27.564787" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.564474" elapsed="0.000391">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:27.565062" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:27.563918" elapsed="0.001241"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.567129" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:27.566468" elapsed="0.000761"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:42:27.568556" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:42:27.568831" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:42:27.568225" elapsed="0.000704"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.570500" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:27.570077" elapsed="0.000535"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.572130" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:27.571807" elapsed="0.000370"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.572636" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:42:27.572358" elapsed="0.000304"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.572996" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.573205" elapsed="0.000024"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.573424" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:42:27.572858" elapsed="0.000625"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.572715" elapsed="0.000799"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:42:27.573562" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:42:27.573755" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:42:27.571430" elapsed="0.002374"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:27.570774" elapsed="0.003072"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.574179" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.573906" elapsed="0.000397"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:27.570716" elapsed="0.003648"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.576187" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:42:27.575450" elapsed="0.000854"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:42:27.576389" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:42:27.559336" elapsed="0.017354"/>
</kw>
<msg time="2026-05-25T00:42:27.577011" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:42:27.507550" elapsed="0.069517"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.589968" elapsed="0.000057"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.602288" elapsed="0.000031"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.614423" elapsed="0.000036"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.614674" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.614864" elapsed="0.000022"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.615383" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.615199" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:27.615181" elapsed="0.000391"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.615722" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.615893" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.616095" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:42:27.615135" elapsed="0.001016"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.614955" elapsed="0.001224"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.616346" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.616429" elapsed="0.000019"/>
</return>
<msg time="2026-05-25T00:42:27.616580" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:42:27.502977" elapsed="0.113631"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:27.618261" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.617803" elapsed="0.000616">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:27.618636" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:27.617401" elapsed="0.001262"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.619006" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.618737" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.619880" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:27.619373" elapsed="0.000535"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:27.619152" elapsed="0.000793"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:27.618718" elapsed="0.001279"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.622511" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:27.620156" elapsed="0.002384"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:42:27.622592" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:42:27.622753" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:27.616987" elapsed="0.005792"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:27.624188" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.623774" elapsed="0.000585">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:27.624573" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:27.623432" elapsed="0.001167"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:42:27.624813" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:42:27.624674" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:27.624654" elapsed="0.000243"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.625043" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.625217" elapsed="0.000037"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.625302" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:42:27.627635" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:27.623086" elapsed="0.004581"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.629674" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:27.629324" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:27.630171" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:27.629900" elapsed="0.000316"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:42:27.637007" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:42:27.637151" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:42:27.637393" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.632403" elapsed="0.005502">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:27.630303" elapsed="0.007719">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.638314" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.638071" elapsed="0.000344"/>
</branch>
<status status="FAIL" start="2026-05-25T00:42:27.630282" elapsed="0.008168">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.639193" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.639476" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:42:27.639422" elapsed="0.000114"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:27.639395" elapsed="0.000173"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.639773" elapsed="0.000031"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.639873" elapsed="0.000021"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.628167" elapsed="0.011883">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.640162" elapsed="0.000022"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.481280" elapsed="0.159103">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.640773" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.640523" elapsed="0.000352"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:27.640498" elapsed="0.000411"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:27.640954" elapsed="0.000020"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.475371" elapsed="0.165722">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:42:27.470117" elapsed="0.171070">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:42:27.469967" elapsed="0.171324">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:42:27.467348" elapsed="0.174079">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:27.466949" elapsed="0.174557">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:42:27.466926" elapsed="0.174623">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:42:27.641952" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:27.641643" elapsed="0.000389"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:27.641620" elapsed="0.000446"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:42:27.465459" elapsed="0.176717">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.661042" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.660685" elapsed="0.000435"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:37.660656" elapsed="0.000492"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.662781" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:37.662324" elapsed="0.000487"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.663316" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:42:37.662981" elapsed="0.000362"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:42:37.663393" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:42:37.663560" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:42:37.661890" elapsed="0.001695"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.665065" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:37.664756" elapsed="0.000338"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:42:37.665142" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:37.665344" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:42:37.664107" elapsed="0.001264"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.755201" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:37.754572" elapsed="0.000773"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:37.757345" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.757051" elapsed="0.000373">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:37.757620" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:37.756560" elapsed="0.001155"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.759577" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:37.758706" elapsed="0.000968"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:42:37.760939" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:42:37.761208" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:42:37.760625" elapsed="0.000734"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.762722" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:37.762324" elapsed="0.000506"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.764375" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:37.764094" elapsed="0.000327"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.764857" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:42:37.764585" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.765210" elapsed="0.000036"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.765464" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.765641" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:42:37.765073" elapsed="0.000626"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.764933" elapsed="0.000797"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:42:37.765776" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:37.765962" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:42:37.763720" elapsed="0.002292"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:37.762980" elapsed="0.003072"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.766415" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.766111" elapsed="0.000385"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:37.762927" elapsed="0.003624"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.768586" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:42:37.767689" elapsed="0.000995"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:42:37.768767" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:42:37.752351" elapsed="0.016736"/>
</kw>
<msg time="2026-05-25T00:42:37.769436" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:42:37.701104" elapsed="0.068401"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.781777" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.793907" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.805959" elapsed="0.000029"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.806160" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.806355" elapsed="0.000022"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.806854" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.806668" elapsed="0.000371"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:37.806648" elapsed="0.000420"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.807224" elapsed="0.000067"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.807470" elapsed="0.000023"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.807650" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:42:37.806606" elapsed="0.001099"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.806433" elapsed="0.001298"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.807901" elapsed="0.000135"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.808099" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:42:37.808263" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:42:37.696892" elapsed="0.111400"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:37.809811" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.809408" elapsed="0.000550">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:37.810168" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:37.808993" elapsed="0.001201"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.810540" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.810286" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.811408" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:37.810868" elapsed="0.000569"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:37.810662" elapsed="0.000812"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:37.810266" elapsed="0.001230"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.814034" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:37.811652" elapsed="0.002409"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:42:37.814112" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:37.814284" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:37.808659" elapsed="0.005651"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:37.815698" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.815307" elapsed="0.000533">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:37.816055" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:37.814941" elapsed="0.001140"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:42:37.816349" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:42:37.816154" elapsed="0.000255"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:37.816134" elapsed="0.000299"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.816583" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.816782" elapsed="0.000023"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.816852" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:42:37.818935" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:37.814615" elapsed="0.004348"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.820454" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:37.820152" elapsed="0.000348"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:37.820917" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:37.820654" elapsed="0.000307"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:42:37.827947" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:42:37.828088" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:42:37.828297" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.823085" elapsed="0.005626">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:37.821027" elapsed="0.007771">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.828992" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.828832" elapsed="0.000227"/>
</branch>
<status status="FAIL" start="2026-05-25T00:42:37.821008" elapsed="0.008076">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.829702" elapsed="0.000047"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.829978" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:42:37.829926" elapsed="0.000111"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:37.829899" elapsed="0.000168"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.830298" elapsed="0.000032"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.830398" elapsed="0.000022"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.819339" elapsed="0.011210">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.830656" elapsed="0.000022"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.675117" elapsed="0.155674">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.831167" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.830922" elapsed="0.000383"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:37.830898" elapsed="0.000442"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:37.831387" elapsed="0.000021"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.669194" elapsed="0.162333">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:42:37.663912" elapsed="0.167707">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:42:37.663737" elapsed="0.167961">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:42:37.661498" elapsed="0.170327">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:37.661204" elapsed="0.170696">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:42:37.661189" elapsed="0.170754">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:42:37.832395" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:37.832036" elapsed="0.000438"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:37.832013" elapsed="0.000494"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:42:37.660125" elapsed="0.172493">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.848831" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:47.848479" elapsed="0.000426"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:47.848452" elapsed="0.000480"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.850594" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:47.850091" elapsed="0.000532"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.851104" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:42:47.850794" elapsed="0.000338"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:42:47.851180" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:42:47.851367" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:42:47.849657" elapsed="0.001736"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.852779" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:47.852473" elapsed="0.000334"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:42:47.852854" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:42:47.853008" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:42:47.852092" elapsed="0.000945"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.945146" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:47.944206" elapsed="0.001060"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:47.947119" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:47.946827" elapsed="0.000371">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:47.947648" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:47.946274" elapsed="0.001470"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.949412" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:47.948743" elapsed="0.000767"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:42:47.950842" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:42:47.951113" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:42:47.950502" elapsed="0.000707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.952737" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:47.952342" elapsed="0.000503"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.954270" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:47.953972" elapsed="0.000346"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.954792" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:42:47.954481" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.955143" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.955510" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.955689" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:42:47.955007" elapsed="0.000741"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:42:47.954868" elapsed="0.000911"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:42:47.955826" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:42:47.956013" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:42:47.953600" elapsed="0.002462"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:47.952997" elapsed="0.003106"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.956451" elapsed="0.001761"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:47.956160" elapsed="0.002140"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:47.952942" elapsed="0.005420"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:42:47.960272" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:42:47.959515" elapsed="0.000881"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:42:47.960518" elapsed="0.000067"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:42:47.941856" elapsed="0.019035"/>
</kw>
<msg time="2026-05-25T00:42:47.961220" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:42:47.889357" elapsed="0.071938"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.973880" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.986117" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.998147" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.998358" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.998537" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.998996" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:47.998849" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:47.998833" elapsed="0.000346"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.999350" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.999524" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.999692" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:42:47.998800" elapsed="0.000946"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:42:47.998650" elapsed="0.001122"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:47.999917" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:47.999992" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:42:48.000112" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:42:47.885098" elapsed="0.115040"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:48.001669" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:48.001266" elapsed="0.000552">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:48.002029" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:48.000894" elapsed="0.001161"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.002399" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:48.002127" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:48.003262" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:48.002738" elapsed="0.000553"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:48.002519" elapsed="0.000809"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:48.002108" elapsed="0.001242"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:48.005774" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:48.003504" elapsed="0.002297"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:42:48.005854" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:42:48.006011" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:48.000542" elapsed="0.005494"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:48.007482" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:48.007068" elapsed="0.000556">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:48.007834" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:48.006725" elapsed="0.001135"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:42:48.008082" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:42:48.007934" elapsed="0.000209"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:48.007914" elapsed="0.000254"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.008377" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.008555" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:42:48.008621" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:42:48.010695" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:48.006356" elapsed="0.004366"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:48.012229" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:48.011942" elapsed="0.000363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:48.012765" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:48.012463" elapsed="0.000349"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:42:48.020437" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:42:48.020577" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:42:48.020774" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:42:48.014963" elapsed="0.006189">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:48.012883" elapsed="0.008369">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.021447" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:48.021288" elapsed="0.000225"/>
</branch>
<status status="FAIL" start="2026-05-25T00:42:48.012863" elapsed="0.008674">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.022062" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:48.022233" elapsed="0.000030"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:42:48.022194" elapsed="0.000100"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:48.022176" elapsed="0.000142"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.022468" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:42:48.022541" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:42:48.011069" elapsed="0.011620">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:48.022772" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:42:47.862964" elapsed="0.159910">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.023156" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:48.022970" elapsed="0.000260"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:48.022953" elapsed="0.000320"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:48.023307" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:42:47.856876" elapsed="0.166532">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:42:47.851688" elapsed="0.171786">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:42:47.851541" elapsed="0.171991">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:42:47.849267" elapsed="0.174359">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:47.848989" elapsed="0.174692">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:42:47.848973" elapsed="0.174738">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:42:48.023997" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:48.023778" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:48.023761" elapsed="0.000318"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:42:47.847915" elapsed="0.176249">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.034623" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.034187" elapsed="0.000523"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:58.034152" elapsed="0.000587"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.036508" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:58.035953" elapsed="0.000597"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.037061" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:42:58.036736" elapsed="0.000352"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:42:58.037139" elapsed="0.000043"/>
</return>
<msg time="2026-05-25T00:42:58.037338" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:42:58.035505" elapsed="0.001870"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.039007" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:58.038335" elapsed="0.000701"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:42:58.039085" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:42:58.039266" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:42:58.037939" elapsed="0.001353"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.132760" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:58.131763" elapsed="0.001107"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:58.134769" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.134441" elapsed="0.000407">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:58.135051" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:58.133890" elapsed="0.001259"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.137058" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:58.136388" elapsed="0.000772"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:42:58.138588" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:42:58.138882" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:42:58.138228" elapsed="0.000752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.140555" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:58.140135" elapsed="0.000529"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.142194" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:58.141922" elapsed="0.000349"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.142754" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:42:58.142472" elapsed="0.000308"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.143129" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.143562" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.143745" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:42:58.142988" elapsed="0.000816"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.142837" elapsed="0.000999"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:42:58.143889" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:42:58.144091" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:42:58.141527" elapsed="0.002612"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:58.140832" elapsed="0.003348"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.144530" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.144254" elapsed="0.000356"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:58.140769" elapsed="0.003896"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.146437" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:42:58.145659" elapsed="0.000876"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:42:58.146619" elapsed="0.000055"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:42:58.129268" elapsed="0.017654"/>
</kw>
<msg time="2026-05-25T00:42:58.147393" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:42:58.077915" elapsed="0.069541"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.160598" elapsed="0.000039"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.172940" elapsed="0.000043"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.185491" elapsed="0.000037"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.185932" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.186123" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.186635" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.186475" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:58.186454" elapsed="0.000372"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.186977" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.187147" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.187346" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:42:58.186408" elapsed="0.000994"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.186213" elapsed="0.001218"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.187583" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.187665" elapsed="0.000019"/>
</return>
<msg time="2026-05-25T00:42:58.187821" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:42:58.073389" elapsed="0.114460"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:58.189598" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.189115" elapsed="0.000643">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:58.189976" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:58.188627" elapsed="0.001375"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.190369" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.190078" elapsed="0.000416"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.191273" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:42:58.190731" elapsed="0.000571"/>
</kw>
<status status="PASS" start="2026-05-25T00:42:58.190523" elapsed="0.000816"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:58.190058" elapsed="0.001304"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.193828" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:42:58.191516" elapsed="0.002340"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:42:58.193909" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:42:58.194072" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:58.188246" elapsed="0.005851"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:42:58.195529" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.195108" elapsed="0.000567">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:42:58.195888" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:42:58.194760" elapsed="0.001154"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:42:58.196126" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:42:58.195988" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-05-25T00:42:58.195968" elapsed="0.000242"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.196426" elapsed="0.000024"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.196603" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.196668" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:42:58.198776" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:42:58.194428" elapsed="0.004385"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.200366" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:58.200059" elapsed="0.000355"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:42:58.200862" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:42:58.200570" elapsed="0.000338"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:42:58.208040" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:42:58.208187" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:42:58.208405" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.203026" elapsed="0.005795">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:58.200976" elapsed="0.007944">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.209136" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.208971" elapsed="0.000232"/>
</branch>
<status status="FAIL" start="2026-05-25T00:42:58.200957" elapsed="0.008289">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.209792" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.209970" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:42:58.209931" elapsed="0.000082"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:58.209911" elapsed="0.000124"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.210185" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.210274" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.199190" elapsed="0.011197">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.210465" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.049575" elapsed="0.160991">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.210845" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.210664" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:58.210646" elapsed="0.000296"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:42:58.210976" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.043265" elapsed="0.167812">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:42:58.037748" elapsed="0.173395">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:42:58.037588" elapsed="0.173616">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:42:58.035079" elapsed="0.176243">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:42:58.034815" elapsed="0.176570">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:42:58.034798" elapsed="0.176619">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:42:58.211713" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:42:58.211485" elapsed="0.000285"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:42:58.211469" elapsed="0.000325"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:42:58.033592" elapsed="0.178282">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.225592" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.225073" elapsed="0.000623"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:08.225039" elapsed="0.000694"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.227931" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:08.227320" elapsed="0.000652"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.228733" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:43:08.228209" elapsed="0.000563"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:43:08.228839" elapsed="0.000051"/>
</return>
<msg time="2026-05-25T00:43:08.229072" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:43:08.226733" elapsed="0.002375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.230669" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:08.230361" elapsed="0.000335"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:43:08.230743" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:43:08.230894" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:43:08.229732" elapsed="0.001188"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.324171" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:08.323478" elapsed="0.000853"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:08.326127" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.325857" elapsed="0.000348">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:08.326697" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:08.325349" elapsed="0.001447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.328559" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:08.327809" elapsed="0.000852"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:43:08.330112" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:43:08.330486" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:43:08.329704" elapsed="0.000881"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.332262" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:08.331785" elapsed="0.000592"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.333850" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:08.333580" elapsed="0.000315"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.334536" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:43:08.334082" elapsed="0.000481"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.334902" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.335133" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.335333" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:43:08.334761" elapsed="0.000634"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.334617" elapsed="0.000809"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:43:08.335474" elapsed="0.000036"/>
</return>
<msg time="2026-05-25T00:43:08.335676" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:43:08.333174" elapsed="0.002551"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:08.332538" elapsed="0.003228"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.336154" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.335826" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:08.332479" elapsed="0.003891"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.338090" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:43:08.337360" elapsed="0.000830"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:43:08.338525" elapsed="0.000059"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:43:08.321035" elapsed="0.017803"/>
</kw>
<msg time="2026-05-25T00:43:08.339158" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:43:08.267976" elapsed="0.071241"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.352887" elapsed="0.000034"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.365880" elapsed="0.000031"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.378992" elapsed="0.000033"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.379223" elapsed="0.000040"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.379433" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.379938" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.379756" elapsed="0.000372"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:08.379727" elapsed="0.000433"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.380336" elapsed="0.000024"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.380522" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.380722" elapsed="0.000029"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:43:08.379682" elapsed="0.001108"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.379518" elapsed="0.001312"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.381037" elapsed="0.000027"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.381137" elapsed="0.000023"/>
</return>
<msg time="2026-05-25T00:43:08.381331" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:43:08.263561" elapsed="0.117798"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:08.382984" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.382538" elapsed="0.000618">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:08.383393" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:08.382117" elapsed="0.001303"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.383766" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.383496" elapsed="0.000395"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.384753" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:08.384214" elapsed="0.000566"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:08.383924" elapsed="0.000893"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:08.383476" elapsed="0.001364"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.387366" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:08.384999" elapsed="0.002407"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:43:08.387479" elapsed="0.000044"/>
</return>
<msg time="2026-05-25T00:43:08.387664" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:08.381734" elapsed="0.005956"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:08.389194" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.388796" elapsed="0.000570">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:08.389624" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:08.388424" elapsed="0.001229"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:43:08.389875" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:43:08.389735" elapsed="0.000200"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:08.389714" elapsed="0.000245"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.390110" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.390317" elapsed="0.000023"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.390387" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:43:08.393086" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:08.388037" elapsed="0.005087"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.394828" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:08.394471" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:08.395356" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:08.395058" elapsed="0.000345"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:43:08.403402" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:43:08.403549" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:43:08.403766" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.397613" elapsed="0.006590">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:08.395473" elapsed="0.008837">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.404509" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.404345" elapsed="0.000231"/>
</branch>
<status status="FAIL" start="2026-05-25T00:43:08.395454" elapsed="0.009147">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.405394" elapsed="0.000041"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.405655" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:43:08.405601" elapsed="0.000116"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:08.405574" elapsed="0.000174"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.405986" elapsed="0.000036"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.406095" elapsed="0.000022"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.393593" elapsed="0.012707">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.406414" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.241036" elapsed="0.165521">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.406952" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.406693" elapsed="0.000384"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:08.406668" elapsed="0.000444"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:08.407160" elapsed="0.000021"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.234829" elapsed="0.172498">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:43:08.229521" elapsed="0.177904">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:43:08.229316" elapsed="0.178191">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:43:08.226171" elapsed="0.181467">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:08.225812" elapsed="0.181903">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:43:08.225790" elapsed="0.181969">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:43:08.408262" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:08.407862" elapsed="0.000487"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:08.407832" elapsed="0.000551"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:43:08.224213" elapsed="0.184283">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.424364" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.423983" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:18.423958" elapsed="0.000511"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.426057" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:18.425602" elapsed="0.000485"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.426583" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:43:18.426272" elapsed="0.000337"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:43:18.426656" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:43:18.426824" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:43:18.425170" elapsed="0.001678"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.428294" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:18.427971" elapsed="0.000351"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:43:18.428370" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:43:18.428521" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:43:18.427338" elapsed="0.001209"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.516998" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:18.516123" elapsed="0.000977"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:18.518858" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.518582" elapsed="0.000353">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:18.519134" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:18.518077" elapsed="0.001154"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.521179" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:18.520518" elapsed="0.000777"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:43:18.522584" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:43:18.522909" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:43:18.522265" elapsed="0.000748"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.524646" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:18.524025" elapsed="0.000732"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.526155" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:18.525887" elapsed="0.000314"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.526655" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:43:18.526380" elapsed="0.000301"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.527012" elapsed="0.000023"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.527221" elapsed="0.000039"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.527414" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:43:18.526871" elapsed="0.000602"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.526731" elapsed="0.000773"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:43:18.527549" elapsed="0.000046"/>
</return>
<msg time="2026-05-25T00:43:18.527752" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:43:18.525513" elapsed="0.002289"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:18.524913" elapsed="0.002930"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.528177" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.527903" elapsed="0.000396"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:18.524858" elapsed="0.003499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.530081" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:43:18.529364" elapsed="0.000817"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:43:18.530389" elapsed="0.000055"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:43:18.513993" elapsed="0.016700"/>
</kw>
<msg time="2026-05-25T00:43:18.531006" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:43:18.464148" elapsed="0.066914"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.543589" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.555607" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.567621" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.567821" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.567999" elapsed="0.000024"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.568450" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.568301" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:18.568284" elapsed="0.000350"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.568778" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.568947" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.569113" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:43:18.568229" elapsed="0.001081"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.568083" elapsed="0.001256"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.569488" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.569564" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:18.569690" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:43:18.459946" elapsed="0.109771"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:18.571212" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.570797" elapsed="0.000584">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:18.571616" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:18.570432" elapsed="0.001210"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.571969" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.571715" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.572815" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:18.572316" elapsed="0.000526"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:18.572096" elapsed="0.000782"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:18.571696" elapsed="0.001204"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.575285" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:18.573054" elapsed="0.002259"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:43:18.575364" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:43:18.575520" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:18.570074" elapsed="0.005486"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:18.576923" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.576540" elapsed="0.000524">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:18.577299" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:18.576185" elapsed="0.001141"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:43:18.577535" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:43:18.577399" elapsed="0.000195"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:18.577379" elapsed="0.000240"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.577766" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.577938" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.578004" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:43:18.580049" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:18.575862" elapsed="0.004214"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.581603" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:18.581326" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:18.582072" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:18.581804" elapsed="0.000314"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:43:18.590257" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:43:18.590402" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:43:18.590593" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.584253" elapsed="0.006714">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:18.582186" elapsed="0.008872">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.591273" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.591092" elapsed="0.000249"/>
</branch>
<status status="FAIL" start="2026-05-25T00:43:18.582167" elapsed="0.009198">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.591913" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.592085" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:43:18.592047" elapsed="0.000081"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:18.592029" elapsed="0.000121"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.592313" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.592384" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.580437" elapsed="0.012058">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.592572" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.438209" elapsed="0.154461">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.592947" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.592766" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:18.592749" elapsed="0.000295"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:18.593078" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.432338" elapsed="0.160840">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:43:18.427151" elapsed="0.166158">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:43:18.427001" elapsed="0.166370">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:43:18.424784" elapsed="0.168682">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:18.424525" elapsed="0.168996">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:43:18.424510" elapsed="0.169044">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:43:18.593842" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:18.593622" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:18.593605" elapsed="0.000317"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:43:18.423425" elapsed="0.170576">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.610536" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.610110" elapsed="0.000503"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:28.610083" elapsed="0.000558"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.612251" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:28.611777" elapsed="0.000506"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.612757" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:43:28.612450" elapsed="0.000334"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:43:28.612830" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:43:28.612998" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:43:28.611359" elapsed="0.001664"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.614454" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:28.614130" elapsed="0.000351"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:43:28.614527" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:43:28.614678" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:43:28.613769" elapsed="0.000933"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.705087" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:28.704096" elapsed="0.001097"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:28.706999" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.706730" elapsed="0.000347">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:28.707290" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:28.706210" elapsed="0.001202"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.709297" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:28.708625" elapsed="0.000770"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:43:28.710703" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:43:28.710981" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:43:28.710387" elapsed="0.000690"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.712632" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:28.712036" elapsed="0.000704"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.714213" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:28.713948" elapsed="0.000329"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.714712" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:43:28.714440" elapsed="0.000299"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.715068" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.717136" elapsed="0.000028"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.717341" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:43:28.714931" elapsed="0.002472"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.714789" elapsed="0.002646"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:43:28.717482" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:43:28.717678" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:43:28.713542" elapsed="0.004223"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:28.712901" elapsed="0.004906"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.718144" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.717867" elapsed="0.000358"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:28.712843" elapsed="0.005456"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.720020" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:43:28.719299" elapsed="0.000820"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:43:28.720201" elapsed="0.000245"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:43:28.701773" elapsed="0.018924"/>
</kw>
<msg time="2026-05-25T00:43:28.721004" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:43:28.650400" elapsed="0.070660"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.733349" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.745483" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.757709" elapsed="0.000045"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.757927" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.758108" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.758546" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.758398" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:28.758381" elapsed="0.000351"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.758878" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.759049" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.759218" elapsed="0.000040"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:43:28.758349" elapsed="0.000944"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.758185" elapsed="0.001135"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.759470" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.759546" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:28.759666" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:43:28.646109" elapsed="0.113583"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:28.761140" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.760745" elapsed="0.000558">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:28.761516" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:28.760399" elapsed="0.001142"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.761895" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.761615" elapsed="0.000384"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.762759" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:28.762246" elapsed="0.000542"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:28.762028" elapsed="0.000796"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:28.761595" elapsed="0.001252"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.765266" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:28.763001" elapsed="0.002294"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:43:28.765347" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:43:28.765503" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:28.760048" elapsed="0.005480"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:28.766917" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.766536" elapsed="0.000522">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:28.767283" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:28.766177" elapsed="0.001133"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:43:28.767519" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:43:28.767383" elapsed="0.000195"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:28.767364" elapsed="0.000238"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.767750" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.767923" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.767989" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:28.770132" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:28.765849" elapsed="0.004310"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.771639" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:28.771362" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:28.772111" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:28.771844" elapsed="0.000313"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:43:28.778912" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:43:28.779052" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:43:28.779265" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.774343" elapsed="0.005294">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:28.772225" elapsed="0.007496">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.779910" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.779755" elapsed="0.000223"/>
</branch>
<status status="FAIL" start="2026-05-25T00:43:28.772205" elapsed="0.007797">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.780546" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.780717" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:43:28.780679" elapsed="0.000081"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:28.780660" elapsed="0.000123"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.780929" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.781001" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.770516" elapsed="0.010594">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.781188" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.624489" elapsed="0.156816">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.781581" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.781403" elapsed="0.000252"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:28.781386" elapsed="0.000293"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:28.781712" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.618518" elapsed="0.163317">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:43:28.613330" elapsed="0.168573">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:43:28.613165" elapsed="0.168795">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:43:28.610952" elapsed="0.171100">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:28.610697" elapsed="0.171410">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:43:28.610682" elapsed="0.171456">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:43:28.782437" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:28.782205" elapsed="0.000290"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:28.782188" elapsed="0.000332"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:43:28.609544" elapsed="0.173054">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.798176" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.797626" elapsed="0.000932"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:38.797592" elapsed="0.001011"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.800704" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:38.800183" elapsed="0.000552"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.801219" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:43:38.800907" elapsed="0.000355"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:43:38.801313" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:43:38.801492" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:43:38.799725" elapsed="0.001793"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.802925" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:38.802350" elapsed="0.000603"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:43:38.803027" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:43:38.803181" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:43:38.801976" elapsed="0.001230"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.896659" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:38.895953" elapsed="0.000814"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:38.898601" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.898292" elapsed="0.000385">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:38.899038" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:38.897770" elapsed="0.001367"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.901022" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:38.900333" elapsed="0.000789"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:43:38.902422" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:43:38.902697" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:43:38.902090" elapsed="0.000703"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.904481" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:38.904057" elapsed="0.000533"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.906055" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:38.905788" elapsed="0.000314"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.906559" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:43:38.906284" elapsed="0.000302"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.906924" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.907161" elapsed="0.000026"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.907498" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:43:38.906784" elapsed="0.000775"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.906638" elapsed="0.000952"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:43:38.907638" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:43:38.907831" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:43:38.905401" elapsed="0.002480"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:38.904752" elapsed="0.003170"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.908270" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.907981" elapsed="0.000371"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:38.904693" elapsed="0.003714"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.910133" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:43:38.909415" elapsed="0.000831"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:43:38.910333" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:43:38.893334" elapsed="0.017333"/>
</kw>
<msg time="2026-05-25T00:43:38.910988" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:43:38.841029" elapsed="0.070052"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.924077" elapsed="0.000042"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.936466" elapsed="0.000064"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.948987" elapsed="0.000033"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.949247" elapsed="0.000025"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.949441" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.949931" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.949771" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:38.949752" elapsed="0.000368"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.950296" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.950472" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.950645" elapsed="0.000024"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:43:38.949705" elapsed="0.000998"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.949532" elapsed="0.001199"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.950885" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.950965" elapsed="0.000025"/>
</return>
<msg time="2026-05-25T00:43:38.951205" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:43:38.836658" elapsed="0.114594"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:38.952867" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.952421" elapsed="0.000601">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:38.953281" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:38.951994" elapsed="0.001316"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.953656" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.953386" elapsed="0.000392"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.954540" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:38.954015" elapsed="0.000553"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:38.953806" elapsed="0.000799"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:38.953366" elapsed="0.001261"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.957083" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:38.954781" elapsed="0.002330"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:43:38.957164" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:43:38.957339" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:38.951633" elapsed="0.005732"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:38.958774" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.958391" elapsed="0.000525">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:38.959170" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:38.958032" elapsed="0.001165"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:43:38.959429" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-05-25T00:43:38.959290" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:38.959269" elapsed="0.000245"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.959661" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.959835" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.959900" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:38.961968" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:38.957693" elapsed="0.004302"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.963568" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:38.963209" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:38.964041" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:38.963777" elapsed="0.000310"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:43:38.971536" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:43:38.971681" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:43:38.971874" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.966175" elapsed="0.006103">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:38.964154" elapsed="0.008210">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.972563" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.972399" elapsed="0.000231"/>
</branch>
<status status="FAIL" start="2026-05-25T00:43:38.964136" elapsed="0.008518">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.973192" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.973402" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:43:38.973364" elapsed="0.000081"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:38.973344" elapsed="0.000124"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.973618" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.973694" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.962366" elapsed="0.011441">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.973885" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.814046" elapsed="0.159939">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.974279" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.974082" elapsed="0.000272"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:38.974065" elapsed="0.000313"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:38.974411" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.807121" elapsed="0.167391">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:43:38.801804" elapsed="0.172776">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:43:38.801654" elapsed="0.172985">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:43:38.799152" elapsed="0.175584">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:38.798690" elapsed="0.176102">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:43:38.798668" elapsed="0.176155">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:43:38.975144" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:38.974891" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:38.974874" elapsed="0.000353"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:43:38.796863" elapsed="0.178515">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:43:48.990589" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:48.990229" elapsed="0.000434"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:48.990205" elapsed="0.000484"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:48.992379" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:48.991840" elapsed="0.000569"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:43:48.992899" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:43:48.992583" elapsed="0.000344"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:43:48.992977" elapsed="0.000045"/>
</return>
<msg time="2026-05-25T00:43:48.993160" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:43:48.991422" elapsed="0.001764"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:48.994678" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:48.994362" elapsed="0.000343"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:43:48.994754" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:43:48.994907" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:43:48.993704" elapsed="0.001229"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.084910" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:49.083957" elapsed="0.001059"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:49.086755" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:49.086495" elapsed="0.000337">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:49.087028" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:49.085991" elapsed="0.001132"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.089001" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:49.088112" elapsed="0.000987"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:43:49.090380" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:43:49.090663" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:43:49.090050" elapsed="0.000709"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.092106" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:49.091710" elapsed="0.000504"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.093796" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:49.093534" elapsed="0.000307"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.094288" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:43:49.094003" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.094637" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.094843" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.095024" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:43:49.094502" elapsed="0.000580"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.094365" elapsed="0.000747"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:43:49.095156" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:43:49.095355" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:43:49.093145" elapsed="0.002259"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:49.092574" elapsed="0.002870"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.095774" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:49.095503" elapsed="0.000350"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:49.092521" elapsed="0.003385"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.097776" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:43:49.096911" elapsed="0.000964"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:43:49.097958" elapsed="0.000056"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:43:49.081832" elapsed="0.016441"/>
</kw>
<msg time="2026-05-25T00:43:49.098579" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:43:49.031019" elapsed="0.067615"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.111165" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.123185" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.135179" elapsed="0.000027"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.135390" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.135567" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.135984" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:49.135834" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:49.135818" elapsed="0.000349"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.136335" elapsed="0.000044"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.136531" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.136699" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:43:49.135786" elapsed="0.000965"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.135643" elapsed="0.001134"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.136923" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.136999" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:49.137118" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:43:49.026862" elapsed="0.110282"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:49.138617" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:49.138207" elapsed="0.000554">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:49.138969" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:49.137850" elapsed="0.001148"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.139337" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:49.139071" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.140159" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:49.139657" elapsed="0.000530"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:49.139456" elapsed="0.000767"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:49.139052" elapsed="0.001209"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.142676" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:49.140436" elapsed="0.002268"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:43:49.142755" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:43:49.142912" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:49.137518" elapsed="0.005419"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:49.144331" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:49.143928" elapsed="0.000574">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:49.144715" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:49.143586" elapsed="0.001155"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:43:49.144952" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-05-25T00:43:49.144814" elapsed="0.000203"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:49.144794" elapsed="0.000247"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.145190" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.145387" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.145455" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:43:49.147476" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:49.143256" elapsed="0.004246"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.148973" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:49.148700" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:49.149513" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:49.149174" elapsed="0.000384"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:43:49.156288" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:43:49.156462" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:43:49.156649" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:43:49.151650" elapsed="0.005363">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:49.149626" elapsed="0.007470">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.157307" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:49.157130" elapsed="0.000245"/>
</branch>
<status status="FAIL" start="2026-05-25T00:43:49.149607" elapsed="0.007792">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.157921" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.158094" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:43:49.158057" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:49.158038" elapsed="0.000121"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.158325" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.158397" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:43:49.147845" elapsed="0.010661">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.158583" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:43:49.004737" elapsed="0.153946">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.158957" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:49.158778" elapsed="0.000252"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:49.158761" elapsed="0.000293"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:49.159087" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:43:48.998774" elapsed="0.160413">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:43:48.993529" elapsed="0.165741">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:43:48.993376" elapsed="0.165954">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:43:48.991018" elapsed="0.168406">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:48.990746" elapsed="0.168733">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:43:48.990730" elapsed="0.168780">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:43:49.159797" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:49.159578" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:49.159561" elapsed="0.000317"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:43:48.989701" elapsed="0.170256">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.177150" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.176601" elapsed="0.000675"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:59.176567" elapsed="0.000750"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.179782" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:59.179092" elapsed="0.000734"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.180563" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:43:59.180079" elapsed="0.000525"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:43:59.180675" elapsed="0.000052"/>
</return>
<msg time="2026-05-25T00:43:59.180920" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:43:59.178450" elapsed="0.002508"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.183051" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:59.182712" elapsed="0.000368"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:43:59.183130" elapsed="0.000033"/>
</return>
<msg time="2026-05-25T00:43:59.183306" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:43:59.181899" elapsed="0.001434"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.291736" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:59.290977" elapsed="0.000867"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:59.293733" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.293390" elapsed="0.000428">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:59.294071" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:59.292834" elapsed="0.001335"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.296529" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:59.295435" elapsed="0.001390"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:43:59.298429" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:43:59.298723" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:43:59.298039" elapsed="0.000781"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.300359" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:59.299891" elapsed="0.000578"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.302178" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:59.301907" elapsed="0.000317"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.302684" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:43:59.302407" elapsed="0.000303"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.303112" elapsed="0.000023"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.303344" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.303523" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:43:59.302964" elapsed="0.000618"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.302765" elapsed="0.000850"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:43:59.303665" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:43:59.303864" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:43:59.301498" elapsed="0.002462"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:59.300638" elapsed="0.003378"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.304370" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.304077" elapsed="0.000372"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:59.300575" elapsed="0.003929"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.306312" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:43:59.305566" elapsed="0.000845"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:43:59.306494" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:43:59.288163" elapsed="0.018629"/>
</kw>
<msg time="2026-05-25T00:43:59.307145" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:43:59.223061" elapsed="0.084147"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.320103" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.332709" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.344879" elapsed="0.000031"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.345095" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.345292" elapsed="0.000023"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.345779" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.345577" elapsed="0.000364"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:59.345560" elapsed="0.000410"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.346122" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.346318" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.346491" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:43:59.345523" elapsed="0.001021"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.345374" elapsed="0.001198"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.346720" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.346797" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:59.346924" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:43:59.218702" elapsed="0.128248"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:59.348559" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.348126" elapsed="0.000590">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:59.348938" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:59.347698" elapsed="0.001273"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.349337" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.349047" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.350250" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:43:59.349706" elapsed="0.000574"/>
</kw>
<status status="PASS" start="2026-05-25T00:43:59.349462" elapsed="0.000855"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:59.349027" elapsed="0.001313"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.352780" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:43:59.350500" elapsed="0.002308"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:43:59.352860" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:43:59.353030" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:59.347337" elapsed="0.005726"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:43:59.354554" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.354133" elapsed="0.000569">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:43:59.354922" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:43:59.353772" elapsed="0.001184"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:43:59.355212" elapsed="0.000053"/>
</return>
<status status="PASS" start="2026-05-25T00:43:59.355047" elapsed="0.000256"/>
</branch>
<status status="PASS" start="2026-05-25T00:43:59.355021" elapsed="0.000307"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.355481" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.355659" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.355726" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:43:59.357810" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:43:59.353396" elapsed="0.004442"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.359410" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:59.359058" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:43:59.359913" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:43:59.359617" elapsed="0.000355"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:43:59.367895" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:43:59.368038" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:43:59.368227" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.362149" elapsed="0.006481">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:59.360045" elapsed="0.008672">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.368917" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.368753" elapsed="0.000238"/>
</branch>
<status status="FAIL" start="2026-05-25T00:43:59.360025" elapsed="0.008991">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.369632" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.369868" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:43:59.369828" elapsed="0.000088"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:59.369807" elapsed="0.000139"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.370115" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.370190" elapsed="0.000015"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.358198" elapsed="0.012126">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.370440" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.194983" elapsed="0.175595">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.370982" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.370713" elapsed="0.000409"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:59.370688" elapsed="0.000476"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:43:59.371213" elapsed="0.000043"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.187562" elapsed="0.183824">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:43:59.181390" elapsed="0.190092">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:43:59.181146" elapsed="0.190417">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:43:59.177816" elapsed="0.193880">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:43:59.177400" elapsed="0.194374">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:43:59.177377" elapsed="0.194442">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:43:59.372269" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:43:59.371921" elapsed="0.000432"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:43:59.371891" elapsed="0.000497"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:43:59.175819" elapsed="0.196683">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.388901" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.388495" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:09.388461" elapsed="0.000558"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.390742" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:09.390255" elapsed="0.000518"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.391305" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:44:09.390965" elapsed="0.000368"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:44:09.391383" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:44:09.391556" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:44:09.389785" elapsed="0.001798"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.393020" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:09.392710" elapsed="0.000338"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:44:09.393096" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:44:09.393266" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:44:09.392345" elapsed="0.000949"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.483879" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:09.482938" elapsed="0.001048"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:09.485770" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.485483" elapsed="0.000364">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:09.486045" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:09.484969" elapsed="0.001171"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.488045" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:09.487144" elapsed="0.000999"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:44:09.489437" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:44:09.489719" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:44:09.489105" elapsed="0.000711"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.491309" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:09.490784" elapsed="0.000635"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.492948" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:09.492682" elapsed="0.000311"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.493453" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:44:09.493157" elapsed="0.000322"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.493815" elapsed="0.000021"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.496105" elapsed="0.000029"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.496316" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:44:09.493677" elapsed="0.002702"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.493532" elapsed="0.002880"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:44:09.496460" elapsed="0.000034"/>
</return>
<msg time="2026-05-25T00:44:09.496657" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:44:09.492164" elapsed="0.004543"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:09.491576" elapsed="0.005172"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.497085" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.496809" elapsed="0.000357"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:09.491520" elapsed="0.005702"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.499108" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:44:09.498225" elapsed="0.000985"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:44:09.499395" elapsed="0.000056"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:44:09.480755" elapsed="0.018946"/>
</kw>
<msg time="2026-05-25T00:44:09.500017" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:09.429650" elapsed="0.070427"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.512439" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.524486" elapsed="0.000030"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.536889" elapsed="0.000029"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.537093" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.537296" elapsed="0.000023"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.537782" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.537608" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:09.537591" elapsed="0.000382"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.538150" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.538358" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.538529" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:44:09.537548" elapsed="0.001034"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.537377" elapsed="0.001231"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.538759" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.538835" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:44:09.538957" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:44:09.425323" elapsed="0.113661"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:09.540552" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.540128" elapsed="0.000583">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:09.540923" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:09.539759" elapsed="0.001190"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.541293" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.541022" elapsed="0.000368"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.542126" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:09.541621" elapsed="0.000534"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:09.541418" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:09.541003" elapsed="0.001212"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.544702" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:09.542401" elapsed="0.002329"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:44:09.544783" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:44:09.544940" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:09.539412" elapsed="0.005553"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:09.546366" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.545954" elapsed="0.000571">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:09.546742" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:09.545613" elapsed="0.001155"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:44:09.546980" elapsed="0.000068"/>
</return>
<status status="PASS" start="2026-05-25T00:44:09.546843" elapsed="0.000243"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:09.546823" elapsed="0.000288"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.547325" elapsed="0.000024"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.547506" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.547574" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:44:09.549702" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:09.545285" elapsed="0.004444"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.551266" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:09.550930" elapsed="0.000386"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:09.551748" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:09.551474" elapsed="0.000319"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:09.566877" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:09.567343" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:09.567869" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.553902" elapsed="0.014927">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:09.551873" elapsed="0.017177">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.569617" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.569139" elapsed="0.000665"/>
</branch>
<status status="FAIL" start="2026-05-25T00:44:09.551852" elapsed="0.018022">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.571400" elapsed="0.000070"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.571871" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:44:09.571767" elapsed="0.000209"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:09.571717" elapsed="0.000309"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.572425" elapsed="0.000052"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.572590" elapsed="0.000033"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.550078" elapsed="0.022763">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.573033" elapsed="0.000038"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.403350" elapsed="0.169943">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.573935" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.573512" elapsed="0.000592"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:09.573473" elapsed="0.000684"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:09.574229" elapsed="0.000063"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.397133" elapsed="0.177353">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:44:09.391899" elapsed="0.182736">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:44:09.391741" elapsed="0.183025">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:44:09.389366" elapsed="0.185629">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:09.389078" elapsed="0.186240">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:44:09.389061" elapsed="0.186345">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:44:09.575983" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:09.575564" elapsed="0.000505"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:09.575524" elapsed="0.000583"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:44:09.387912" elapsed="0.188314">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.592586" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.592166" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:19.592137" elapsed="0.000568"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.594429" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:19.593904" elapsed="0.000557"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.594960" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:44:19.594638" elapsed="0.000350"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:44:19.595037" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:44:19.595210" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:44:19.593467" elapsed="0.001786"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.596817" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:19.596139" elapsed="0.000708"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:44:19.596895" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:44:19.597055" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:44:19.595767" elapsed="0.001314"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.686498" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:19.685846" elapsed="0.000753"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:19.688381" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.688079" elapsed="0.000380">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:19.688656" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:19.687584" elapsed="0.001167"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.690695" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:19.689765" elapsed="0.001027"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:44:19.692060" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:44:19.692372" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:44:19.691744" elapsed="0.000726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.693818" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:19.693422" elapsed="0.000504"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.695522" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:19.695248" elapsed="0.000320"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.696004" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:44:19.695732" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.696408" elapsed="0.000024"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.696619" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.696825" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:44:19.696218" elapsed="0.000666"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.696079" elapsed="0.000836"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:44:19.696959" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:44:19.697146" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:44:19.694856" elapsed="0.002339"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:19.694075" elapsed="0.003174"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.697581" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.697310" elapsed="0.000351"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:19.694021" elapsed="0.003695"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.699458" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:44:19.698728" elapsed="0.000828"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:44:19.699639" elapsed="0.000054"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:44:19.683430" elapsed="0.016506"/>
</kw>
<msg time="2026-05-25T00:44:19.700251" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:19.633215" elapsed="0.067126"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.713259" elapsed="0.000036"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.725407" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.737477" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.737681" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.737860" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.738304" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.738134" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:19.738117" elapsed="0.000371"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.738636" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.738807" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.738974" elapsed="0.000023"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:44:19.738080" elapsed="0.000951"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.737936" elapsed="0.001121"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.739204" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.739298" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:44:19.739424" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:44:19.628998" elapsed="0.110453"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:19.740921" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.740538" elapsed="0.000524">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:19.741285" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:19.740146" elapsed="0.001166"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.741634" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.741385" elapsed="0.000927"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.743061" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:19.742548" elapsed="0.000542"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:19.742344" elapsed="0.000783"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:19.741366" elapsed="0.001784"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.745615" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:19.743326" elapsed="0.002316"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:44:19.745694" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:44:19.745851" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:19.739814" elapsed="0.006062"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:19.747281" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.746872" elapsed="0.000552">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:19.747632" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:19.746531" elapsed="0.001127"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:44:19.747868" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-05-25T00:44:19.747730" elapsed="0.000197"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:19.747711" elapsed="0.000240"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.748098" elapsed="0.000023"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.748289" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.748403" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:44:19.750441" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:19.746186" elapsed="0.004282"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.751976" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:19.751701" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:19.752480" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:19.752183" elapsed="0.000342"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:19.759766" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:19.759907" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:19.760094" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.754633" elapsed="0.005914">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:19.752593" elapsed="0.008038">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.760819" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.760665" elapsed="0.000219"/>
</branch>
<status status="FAIL" start="2026-05-25T00:44:19.752574" elapsed="0.008335">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.761452" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.761623" elapsed="0.000013"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:44:19.761584" elapsed="0.000081"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:19.761566" elapsed="0.000121"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.761835" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.761905" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.750811" elapsed="0.011209">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.762098" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.607168" elapsed="0.155031">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.762491" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.762311" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:19.762293" elapsed="0.000296"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:19.762622" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.601082" elapsed="0.161642">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:44:19.595588" elapsed="0.167203">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:44:19.595417" elapsed="0.167432">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:44:19.593027" elapsed="0.169917">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:19.592763" elapsed="0.170237">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:44:19.592747" elapsed="0.170288">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:44:19.763374" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:19.763102" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:19.763085" elapsed="0.000371"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:44:19.591594" elapsed="0.171942">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.779046" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.778677" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:29.778651" elapsed="0.000534"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.780949" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:29.780471" elapsed="0.000508"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.781488" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:44:29.781152" elapsed="0.000364"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:44:29.781564" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:44:29.781735" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:44:29.779953" elapsed="0.001808"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.783194" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:29.782885" elapsed="0.000337"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:44:29.783287" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:44:29.783442" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:44:29.782258" elapsed="0.001210"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.873039" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:29.872352" elapsed="0.000795"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:29.875174" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.874889" elapsed="0.000377">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:29.875464" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:29.874390" elapsed="0.001170"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.877451" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:29.876560" elapsed="0.000994"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:44:29.878830" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:44:29.879100" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:44:29.878513" elapsed="0.000685"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.880631" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:29.880201" elapsed="0.000539"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.882213" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:29.881947" elapsed="0.000361"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.882746" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:44:29.882473" elapsed="0.000300"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.883100" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.883425" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.883602" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:44:29.882963" elapsed="0.000696"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.882823" elapsed="0.000867"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:44:29.883736" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:44:29.883925" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:44:29.881573" elapsed="0.002401"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:29.880897" elapsed="0.003118"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.884373" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.884072" elapsed="0.000381"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:29.880842" elapsed="0.003664"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.886387" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:44:29.885663" elapsed="0.000823"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:44:29.886568" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:44:29.870112" elapsed="0.016751"/>
</kw>
<msg time="2026-05-25T00:44:29.887170" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:29.819297" elapsed="0.067928"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.899695" elapsed="0.000029"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.911675" elapsed="0.000028"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.923710" elapsed="0.000028"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.923907" elapsed="0.000022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.924084" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.924543" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.924380" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:29.924365" elapsed="0.000361"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.924871" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.925040" elapsed="0.000021"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.925209" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:44:29.924333" elapsed="0.000975"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.924160" elapsed="0.001175"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.925502" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.925579" elapsed="0.000016"/>
</return>
<msg time="2026-05-25T00:44:29.925698" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:44:29.815069" elapsed="0.110655"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:29.927163" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.926779" elapsed="0.000545">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:29.927535" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:29.926435" elapsed="0.001125"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.927882" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.927634" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.928750" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:29.928221" elapsed="0.000556"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:29.928017" elapsed="0.000796"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:29.927615" elapsed="0.001221"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.931294" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:29.928990" elapsed="0.002332"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:44:29.931375" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:44:29.931531" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:29.926081" elapsed="0.005475"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:29.932941" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.932557" elapsed="0.000525">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:29.933348" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:29.932184" elapsed="0.001191"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:44:29.933603" elapsed="0.000053"/>
</return>
<status status="PASS" start="2026-05-25T00:44:29.933465" elapsed="0.000226"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:29.933445" elapsed="0.000270"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.933863" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.934037" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.934104" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:44:29.936113" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:29.931858" elapsed="0.004282"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.937666" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:29.937360" elapsed="0.000353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:29.938132" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:29.937868" elapsed="0.000309"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:29.945632" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:29.945775" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:29.945963" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.940352" elapsed="0.006052">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:29.938261" elapsed="0.008283">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.946808" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.946590" elapsed="0.000310"/>
</branch>
<status status="FAIL" start="2026-05-25T00:44:29.938225" elapsed="0.008709">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.947684" elapsed="0.000038"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.947922" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:44:29.947868" elapsed="0.000113"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:29.947842" elapsed="0.000170"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.948217" elapsed="0.000056"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.948347" elapsed="0.000025"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.936513" elapsed="0.011991">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.948612" elapsed="0.000023"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.793294" elapsed="0.155457">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.949132" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.948884" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:29.948861" elapsed="0.000451"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:29.949360" elapsed="0.000021"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.787303" elapsed="0.162198">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:44:29.782066" elapsed="0.167557">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:44:29.781918" elapsed="0.167786">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:44:29.779549" elapsed="0.170285">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:29.779260" elapsed="0.170651">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:44:29.779229" elapsed="0.170725">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:44:29.950546" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:29.950048" elapsed="0.000598"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:29.950025" elapsed="0.000664"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:44:29.778108" elapsed="0.172720">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:44:39.967547" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:39.967106" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:39.967073" elapsed="0.000589"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:39.969298" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:39.968829" elapsed="0.000499"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:44:39.969859" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:44:39.969498" elapsed="0.000388"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:44:39.969936" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:44:39.970104" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:44:39.968392" elapsed="0.001737"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:39.971563" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:39.971252" elapsed="0.000339"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:44:39.971638" elapsed="0.000030"/>
</return>
<msg time="2026-05-25T00:44:39.971791" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:44:39.970620" elapsed="0.001196"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.062374" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:40.061638" elapsed="0.000846"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:40.064967" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:40.064613" elapsed="0.000431">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:40.065262" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:40.064060" elapsed="0.001299"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.067090" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:40.066417" elapsed="0.000773"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:44:40.068732" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:44:40.069007" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:44:40.068413" elapsed="0.000692"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.070524" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:40.070104" elapsed="0.000531"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.072504" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:40.072210" elapsed="0.000341"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.072999" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:44:40.072721" elapsed="0.000305"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.073379" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.073597" elapsed="0.000025"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.073776" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:44:40.073223" elapsed="0.000613"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.073079" elapsed="0.000788"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:44:40.073915" elapsed="0.000080"/>
</return>
<msg time="2026-05-25T00:44:40.074158" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:44:40.071802" elapsed="0.002406"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:40.070799" elapsed="0.003467"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.074608" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:40.074328" elapsed="0.000365"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:40.070740" elapsed="0.004009"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.076697" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:44:40.075728" elapsed="0.001068"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:44:40.076880" elapsed="0.000055"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:44:40.058998" elapsed="0.018185"/>
</kw>
<msg time="2026-05-25T00:44:40.077525" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:40.007968" elapsed="0.069620"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.090394" elapsed="0.000052"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.102666" elapsed="0.000052"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.115010" elapsed="0.000046"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.115292" elapsed="0.000024"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.115484" elapsed="0.000021"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.115977" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:40.115822" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:40.115804" elapsed="0.000363"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.116339" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.116521" elapsed="0.000020"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.116692" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:44:40.115762" elapsed="0.000983"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.115575" elapsed="0.001198"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.116921" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.117003" elapsed="0.000018"/>
</return>
<msg time="2026-05-25T00:44:40.117155" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:44:40.003629" elapsed="0.113554"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:40.118829" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:40.118382" elapsed="0.000599">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:40.119198" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:40.117948" elapsed="0.001276"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.119591" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:40.119318" elapsed="0.000398"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.120494" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:40.119954" elapsed="0.000568"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:40.119745" elapsed="0.000814"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:40.119297" elapsed="0.001285"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.123072" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:40.120740" elapsed="0.002359"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:44:40.123157" elapsed="0.000035"/>
</return>
<msg time="2026-05-25T00:44:40.123342" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:40.117588" elapsed="0.005780"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:40.124829" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:40.124413" elapsed="0.000564">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:40.125193" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:40.124041" elapsed="0.001178"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:44:40.125459" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:44:40.125316" elapsed="0.000204"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:40.125296" elapsed="0.000249"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.125695" elapsed="0.000022"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.125871" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.125938" elapsed="0.000015"/>
</return>
<msg time="2026-05-25T00:44:40.128025" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:40.123695" elapsed="0.004357"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.129672" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:40.129379" elapsed="0.000342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:40.130221" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:40.129876" elapsed="0.000416"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:40.136604" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:40.136752" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:40.136955" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:40.132407" elapsed="0.004960">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:40.130370" elapsed="0.007087">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.137676" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:40.137495" elapsed="0.000249"/>
</branch>
<status status="FAIL" start="2026-05-25T00:44:40.130351" elapsed="0.007418">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.138393" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.138598" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:44:40.138556" elapsed="0.000087"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:40.138537" elapsed="0.000128"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.138815" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.138886" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:44:40.128445" elapsed="0.010554">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.139078" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:44:39.981706" elapsed="0.157472">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.139478" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:40.139293" elapsed="0.000260"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:40.139275" elapsed="0.000302"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:40.139610" elapsed="0.000015"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:44:39.975678" elapsed="0.164031">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:44:39.970449" elapsed="0.169329">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:44:39.970300" elapsed="0.169539">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:44:39.967977" elapsed="0.171958">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:39.967719" elapsed="0.172272">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:44:39.967703" elapsed="0.172320">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:44:40.140331" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:40.140091" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:40.140074" elapsed="0.000345"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:44:39.966533" elapsed="0.173965">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Verify_Members_Are_Ready" owner="ClusterManagement">
<if>
<branch type="IF" condition="${verify_cluster_sync}">
<kw name="Check_Cluster_Is_In_Sync" owner="ClusterManagement">
<arg>${member_index_list}</arg>
<doc>Fail if no-sync is detected on a member from list (or any).</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.157509" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.157087" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.157062" elapsed="0.000549"/>
</if>
<if>
<branch type="IF" condition="${verify_restconf}">
<kw name="Verify_Restconf_Is_Available" owner="ClusterManagement">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.159218" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:50.158758" elapsed="0.000504"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.159744" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:44:50.159433" elapsed="0.000337"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:44:50.159818" elapsed="0.000039"/>
</return>
<msg time="2026-05-25T00:44:50.159988" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:44:50.158334" elapsed="0.001680"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.161490" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>ClusterManagement__session_${member_index}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:50.161167" elapsed="0.000351"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-05-25T00:44:50.161564" elapsed="0.000029"/>
</return>
<msg time="2026-05-25T00:44:50.161716" level="INFO">${session} = ClusterManagement__session_1</msg>
<var>${session}</var>
<arg>member_index=${index}</arg>
<doc>Return RequestsLibrary session alias pointing to node of given index.</doc>
<status status="PASS" start="2026-05-25T00:44:50.160813" elapsed="0.000928"/>
</kw>
<kw name="Get_As_Json_Templated" owner="TemplatedRequests">
<kw name="Get_Templated" owner="TemplatedRequests">
<kw name="Resolve_Text_From_Template_Folder" owner="TemplatedRequests">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.252723" level="INFO">${file_path_stream} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/location.uri</msg>
<var>${file_path_stream}</var>
<arg>${folder}.${ODL_STREAM}${/}${file_name}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:50.251726" elapsed="0.001105"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:50.254615" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</msg>
<arg>${file_path_stream}</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.254348" elapsed="0.000342">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules.titanium/location.uri' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:50.254887" level="INFO">${file_stream_exists} = False</msg>
<var>${file_stream_exists}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${file_path_stream}</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:50.253826" elapsed="0.001158"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.256711" level="INFO">${file_path} = /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/location.uri</msg>
<var>${file_path}</var>
<arg>${file_stream_exists}</arg>
<arg>${file_path_stream}</arg>
<arg>${folder}${/}${file_name}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:50.255986" elapsed="0.000823"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-05-25T00:44:50.258169" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri"&gt;/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/location.uri&lt;/a&gt;'.</msg>
<msg time="2026-05-25T00:44:50.258622" level="INFO">${template} = /rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<var>${template}</var>
<arg>${file_path}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-05-25T00:44:50.257844" elapsed="0.000874"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.260124" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.259714" elapsed="0.000678"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.261886" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.261620" elapsed="0.000311"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.262384" level="INFO">${encoded_mapping} = {}</msg>
<var>${encoded_mapping}</var>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-05-25T00:44:50.262095" elapsed="0.000316"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<var>${value}</var>
<arg>${value}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.262741" elapsed="0.000022"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<var>${encoded_value}</var>
<arg>${value}</arg>
<doc>Percent encodes reserved characters in the given string so it can be used as part of url.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.265094" elapsed="0.000030"/>
</kw>
<kw name="Set To Dictionary" owner="Collections">
<arg>${encoded_mapping}</arg>
<arg>${key}</arg>
<arg>${encoded_value}</arg>
<doc>Adds the given ``key_value_pairs`` and/or ``items`` to the ``dictionary``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.265306" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-05-25T00:44:50.262604" elapsed="0.002765"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.262463" elapsed="0.002938"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-05-25T00:44:50.265448" elapsed="0.000037"/>
</return>
<msg time="2026-05-25T00:44:50.265651" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-05-25T00:44:50.261210" elapsed="0.004490"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:50.260578" elapsed="0.005164"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.266078" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.265802" elapsed="0.000357"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.260521" elapsed="0.005695"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.267975" level="INFO">${final_text} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${final_text}</var>
<arg>string.Template('''${template}'''.rstrip()).safe_substitute(${mapping_to_use})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:44:50.267193" elapsed="0.000882"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-05-25T00:44:50.268161" elapsed="0.000053"/>
</return>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="PASS" start="2026-05-25T00:44:50.249375" elapsed="0.019207"/>
</kw>
<msg time="2026-05-25T00:44:50.268903" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>not "${iterations}"</arg>
<arg>Resolve_Text_From_Template_File</arg>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.198016" elapsed="0.070945"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${prolog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.prolog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.281364" elapsed="0.000038"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${epilog}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${name_prefix}${base_name}.epilog.${extension}</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=${percent_encode}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.293645" elapsed="0.000039"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<var>${item_template}</var>
<arg>folder=${folder}</arg>
<arg>file_name=${base_name}.item.${extension}</arg>
<arg>mapping=${mapping}</arg>
<doc>Check if /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name} exists. If yes read and Log contents of file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules.titanium/${file_name},
remove endline, perform safe substitution, return result.
If no do it with the default /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/${file_name}.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.305798" elapsed="0.000035"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.306042" elapsed="0.000023"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<var>${separator}</var>
<arg>'${extension}' != 'json'</arg>
<arg>${endline}</arg>
<arg>,${endline}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.306246" elapsed="0.000023"/>
</kw>
<for flavor="IN RANGE">
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.306728" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.306572" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.306554" elapsed="0.000365"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<var>${j}</var>
<arg>${iteration}+${iter_j_offset}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.307068" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${item}</var>
<arg>string.Template('''${item_template}''').substitute({"i":"${iteration}", "j":${j}})</arg>
<arg>modules=string</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.307266" elapsed="0.000022"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.307440" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-05-25T00:44:50.306512" elapsed="0.000982"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.306338" elapsed="0.001184"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<var>${final_text}</var>
<arg>SEPARATOR=</arg>
<arg>${prolog}</arg>
<arg>${endline}</arg>
<arg>@{items}</arg>
<arg>${endline}</arg>
<arg>${epilog}</arg>
<doc>Catenates the given items together and returns the resulted string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.307669" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.307750" elapsed="0.000019"/>
</return>
<msg time="2026-05-25T00:44:50.307900" level="INFO">${uri} = /rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${uri}</var>
<arg>folder=${folder}</arg>
<arg>base_name=location</arg>
<arg>extension=uri</arg>
<arg>mapping=${mapping}</arg>
<arg>percent_encode=True</arg>
<doc>Read a template from folder, strip endline, make changes according to mapping, return the result.
If ${iterations} value is present, put text together from "prolog", "item" and "epilog" parts,
where additional template variable ${i} goes from ${iter_start}, by one ${iterations} times.
Template variable ${j} is calculated as ${i} incremented by offset ${iter_j_offset} ( j = i + iter_j_offset )
used to create non uniform data in order to be able to validate UPDATE operations.
POST (as opposed to PUT) needs slightly different data, ${name_prefix} may be used to distinguish.
(Actually, it is GET who formats data differently when URI is a top-level container.)</doc>
<status status="PASS" start="2026-05-25T00:44:50.193674" elapsed="0.114253"/>
</kw>
<kw name="Resolve_Jmes_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:50.309590" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</msg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.309125" elapsed="0.000620">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:50.309965" level="INFO">${read_jmes_file} = False</msg>
<var>${read_jmes_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:50.308721" elapsed="0.001270"/>
</kw>
<if>
<branch type="IF" condition="${read_jmes_file} == ${true}">
<kw name="Get File" owner="OperatingSystem">
<var>${jmes_expression}</var>
<arg>${folder}${/}jmespath.expr</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.310350" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.310065" elapsed="0.000403"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.311218" level="INFO">${jmes_expression} = None</msg>
<var>${jmes_expression}</var>
<arg>${None}</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:44:50.310702" elapsed="0.000574"/>
</kw>
<status status="PASS" start="2026-05-25T00:44:50.310497" elapsed="0.000818"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.310047" elapsed="0.001290"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.313792" level="INFO">${expression} = </msg>
<var>${expression}</var>
<arg>${read_jmes_file} == ${true}</arg>
<arg>${jmes_expression}</arg>
<arg>${EMPTY}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:50.311494" elapsed="0.002326"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-05-25T00:44:50.313873" elapsed="0.000032"/>
</return>
<msg time="2026-05-25T00:44:50.314035" level="INFO">${jmes_expression} = </msg>
<var>${jmes_expression}</var>
<arg>${folder}</arg>
<doc>Reads JMES path from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/jmespath.expr if the file exists and
returns the JMES path. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:50.308326" elapsed="0.005735"/>
</kw>
<kw name="Resolve_Volatiles_Path" owner="TemplatedRequests">
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-05-25T00:44:50.315488" level="FAIL">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</msg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Fails unless the given ``path`` points to an existing file.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.315063" elapsed="0.000574">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-05-25T00:44:50.315853" level="INFO">${read_volatiles_file} = False</msg>
<var>${read_volatiles_file}</var>
<arg>OperatingSystem.File Should Exist</arg>
<arg>${folder}${/}volatiles.list</arg>
<doc>Runs the specified keyword and returns the status as a Boolean value.</doc>
<status status="PASS" start="2026-05-25T00:44:50.314719" elapsed="0.001161"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-05-25T00:44:50.316091" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-05-25T00:44:50.315953" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.315934" elapsed="0.000242"/>
</if>
<kw name="Get File" owner="OperatingSystem">
<var>${volatiles}</var>
<arg>${folder}${/}volatiles.list</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.316390" elapsed="0.000024"/>
</kw>
<kw name="Split String" owner="String">
<var>${volatiles_list}</var>
<arg>${volatiles}</arg>
<arg>${\n}</arg>
<doc>Splits the ``string`` using ``separator`` as a delimiter string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.316603" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.316672" elapsed="0.000017"/>
</return>
<msg time="2026-05-25T00:44:50.318794" level="INFO">${volatiles_list} = </msg>
<var>${volatiles_list}</var>
<arg>${folder}</arg>
<doc>Reads Volatiles List from file /w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/libraries/../variables/restconf/modules/volatiles.list if the file exists and
returns the Volatiles List. Empty string is returned otherwise.</doc>
<status status="PASS" start="2026-05-25T00:44:50.314385" elapsed="0.004436"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.320363" level="INFO">/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${uri}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.320050" elapsed="0.000362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.320856" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.320582" elapsed="0.000320"/>
</kw>
<if>
<branch type="IF" condition="&quot;&quot;&quot;${http_timeout}&quot;&quot;&quot; == &quot;&quot;&quot;${EMPTY}&quot;&quot;&quot;">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:50.327892" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 path_url=/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:50.328038" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '414'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/ietf-yang-library:modules-state&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:50.328276" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.323015" elapsed="0.005669">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:50.320971" elapsed="0.007799">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<branch type="ELSE">
<kw name="GET On Session" owner="RequestsLibrary">
<var>${response}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>headers=${accept}</arg>
<arg>timeout=${http_timeout}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.328969" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.328805" elapsed="0.000230"/>
</branch>
<status status="FAIL" start="2026-05-25T00:44:50.320952" elapsed="0.008108">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<kw name="Check_Status_Code" owner="TemplatedRequests">
<arg>${response}</arg>
<arg>log_response=${log_response}</arg>
<doc>Log response text, check status_code is one of allowed ones. In cases where this keyword is
called in a WUKS it could end up logging tons of data and it may be desired to skip the logging by passing
log_response=False, but by default it remains True.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.329624" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.329824" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:44:50.329783" elapsed="0.000086"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.329764" elapsed="0.000128"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<var>${text_normalized}</var>
<arg>${response.text}</arg>
<arg>jmes_path=${jmes_path}</arg>
<arg>keys_with_volatiles=${keys_with_volatiles}</arg>
<doc>Attempt to return sorted indented JSON string.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.330041" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.330113" elapsed="0.000016"/>
</return>
<var>${response_text}</var>
<arg>uri=${uri}</arg>
<arg>accept=${accept}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=${normalize_json}</arg>
<arg>jmes_path=${jmes_expression}</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>keys_with_volatiles=${volatiles_list}</arg>
<arg>log_response=${log_response}</arg>
<doc>GET data from given URI, check status code and return response text.
${accept} is a Python object with headers to use.
If ${normalize_json}, normalize as JSON text before returning.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.319179" elapsed="0.011048">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.330325" elapsed="0.000017"/>
</return>
<var>${response_text}</var>
<arg>folder=${folder}</arg>
<arg>mapping=${mapping}</arg>
<arg>accept=${ACCEPT_EMPTY}</arg>
<arg>session=${session}</arg>
<arg>normalize_json=True</arg>
<arg>http_timeout=${http_timeout}</arg>
<arg>log_response=${log_response}</arg>
<doc>Resolve URI from folder, call Get_From_Uri, return response text.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.171489" elapsed="0.158939">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<if>
<branch type="IF" condition="${verify}">
<kw name="Verify_Response_As_Json_Templated" owner="TemplatedRequests">
<arg>response=${response_text}</arg>
<arg>folder=${folder}</arg>
<arg>base_name=data</arg>
<arg>mapping=${mapping}</arg>
<arg>iterations=${iterations}</arg>
<arg>iter_start=${iter_start}</arg>
<arg>iter_j_offset=${iter_j_offset}</arg>
<doc>Resolve expected JSON data, should be equal to provided ${response}.
JSON normalization is used, endlines enabled for readability.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.330706" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.330525" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.330508" elapsed="0.000296"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.330837" elapsed="0.000014"/>
</return>
<arg>session=${session}</arg>
<arg>folder=${RESTCONF_MODULES_DIR}</arg>
<arg>verify=False</arg>
<doc>Add arguments sensible for JSON data, return Get_Templated response text.
Optionally, verification against JSON data (may be iterated) is called.
Only subset of JSON data is verified and returned if JMES path is specified in
file ${folder}/jmespath.expr.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.165569" elapsed="0.165368">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-05-25T00:44:50.160395" elapsed="0.170610">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-05-25T00:44:50.160203" elapsed="0.170861">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-05-25T00:44:50.157926" elapsed="0.173233">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-05-25T00:44:50.157668" elapsed="0.173547">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-05-25T00:44:50.157652" elapsed="0.173614">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</if>
<if>
<branch type="IF" condition="${verify_system_status} and (&quot;${service_list}&quot; != &quot;[[]]&quot;)">
<kw name="Check Status Of Services Is OPERATIONAL" owner="ClusterManagement">
<arg>@{service_list}</arg>
<doc>This keyword will verify whether all the services are operational in all the ODL nodes</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.331557" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.331335" elapsed="0.000279"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.331318" elapsed="0.000320"/>
</if>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Verifies the specified readiness conditions for the given listed members after startup.
If ${verify_cluster_sync}, verifies the datastores have synced with the rest of the cluster.
If True, verifies RESTCONF is available.
If ${verify_system_status}, verifies the system services are OPERATIONAL.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.156385" elapsed="0.175332">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<msg time="2026-05-25T00:44:50.331825" level="FAIL">Keyword 'Verify_Members_Are_Ready' failed after retrying for 6 minutes. The last error was: HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</msg>
<arg>${timeout}</arg>
<arg>10s</arg>
<arg>Verify_Members_Are_Ready</arg>
<arg>${member_index_list}</arg>
<arg>${wait_for_sync}</arg>
<arg>${verify_restconf}</arg>
<arg>${check_system_status}</arg>
<arg>${service_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-05-25T00:38:43.044799" elapsed="367.287120">Keyword 'Verify_Members_Are_Ready' failed after retrying for 6 minutes. The last error was: HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<kw name="Run_Bash_Command_On_List_Or_All" owner="ClusterManagement" type="TEARDOWN">
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.335407" level="INFO">${return_list_reference} = [1]</msg>
<var>${return_list_reference}</var>
<arg>"""${given_list}""" != ""</arg>
<arg>${given_list}</arg>
<arg>${ClusterManagement__member_index_list}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-05-25T00:44:50.334958" elapsed="0.000478"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.335903" level="INFO">${return_list_copy} = [1]</msg>
<var>${return_list_copy}</var>
<arg>@{return_list_reference}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-05-25T00:44:50.335600" elapsed="0.000330"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-05-25T00:44:50.335975" elapsed="0.000031"/>
</return>
<msg time="2026-05-25T00:44:50.336175" level="INFO">${index_list} = [1]</msg>
<var>${index_list}</var>
<arg>given_list=${member_index_list}</arg>
<doc>Utility to allow ${EMPTY} as default argument value, as the internal list is computed at runtime.
This keyword always returns a (shallow) copy of given or default list,
so operations with the returned list should not affect other lists.
Also note that this keyword does not consider empty list to be ${EMPTY}.</doc>
<status status="PASS" start="2026-05-25T00:44:50.334539" elapsed="0.001661"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-05-25T00:44:50.337408" level="INFO">${member_ip} = 10.30.170.7</msg>
<var>${member_ip}</var>
<arg>dictionary=${ClusterManagement__index_to_ip_mapping}</arg>
<arg>key=${member_index}</arg>
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
<status status="PASS" start="2026-05-25T00:44:50.337059" elapsed="0.000377"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:44:50.338254" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:44:50.338361" level="INFO">${current_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:44:50.338102" elapsed="0.000287"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.341573" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.341215" elapsed="0.000417"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.341196" elapsed="0.000462"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:44:50.341919" level="INFO">index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:44:50.342021" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.87
alias=None
port=22
timeout=30 seconds
newline=

prompt=&gt;
term_type=vt100
width=80
height=24
path_separator=/
encoding=UTF-8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:44:50.341808" elapsed="0.000240"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.342813" level="INFO">Attempting to execute command "netstat -pnatu | grep 2550" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.342204" elapsed="0.000657"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:44:50.343563" level="INFO">${conn_id} = 31</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:44:50.343028" elapsed="0.000562"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.345047" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:44:50.345190" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:44:50.344331" elapsed="0.000897"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.345487" elapsed="0.000638"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:44:50.348354" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:44:50.928551" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:44:50 UTC 2026

  System load:  0.15               Processes:             120
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 7%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:38:42 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:44:50.347839" elapsed="0.580985"/>
</kw>
<msg time="2026-05-25T00:44:50.928923" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.346415" elapsed="0.582651"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:44:50.343810" elapsed="0.585497"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:44:50.929847" level="INFO">Executing command 'netstat -pnatu | grep 2550'.</msg>
<msg time="2026-05-25T00:44:50.941710" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-05-25T00:44:50.941890" level="INFO">${stdout} = </msg>
<msg time="2026-05-25T00:44:50.941962" level="INFO">${stderr} = bash: line 1: netstat: command not found</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:44:50.929563" elapsed="0.012454"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:44:50.942472" elapsed="0.000566"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.944295" level="INFO">bash: line 1: netstat: command not found</msg>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.943527" elapsed="0.000898"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.944898" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:44:50.944599" elapsed="0.000407"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.944548" elapsed="0.000547"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:44:50.945494" elapsed="0.000064"/>
</return>
<status status="PASS" start="2026-05-25T00:44:50.945221" elapsed="0.000412"/>
</branch>
<status status="PASS" start="2026-05-25T00:44:50.945185" elapsed="0.000502"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.945764" elapsed="0.000032"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:44:50.966612" elapsed="0.000331"/>
</kw>
<msg time="2026-05-25T00:44:50.967023" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.964763" elapsed="0.002375"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.967354" elapsed="0.000024"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.967541" elapsed="0.000022"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:44:50.946500" elapsed="0.021128"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:44:50.340650" elapsed="0.627070"/>
</kw>
<msg time="2026-05-25T00:44:50.967772" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.339938" elapsed="0.627895"/>
</kw>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:44:50.339116" elapsed="0.628796"/>
</kw>
<msg time="2026-05-25T00:44:50.967955" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${keyword_name}</arg>
<arg>@{args}</arg>
<arg>&amp;{kwargs}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.338589" elapsed="0.629423"/>
</kw>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${connection_index}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:44:50.971481" elapsed="0.000139"/>
</kw>
<msg time="2026-05-25T00:44:50.971663" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:44:50.971005" elapsed="0.000720"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.971889" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.972056" elapsed="0.000021"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:44:50.968327" elapsed="0.003812"/>
</kw>
<msg time="2026-05-25T00:44:50.972251" level="INFO">${output} = </msg>
<var>${output}</var>
<arg>Utils.Run_Command_On_Controller</arg>
<arg>${member_ip}</arg>
<arg>${command}</arg>
<doc>Store current connection index, run keyword returning its result, restore connection in teardown.
Note that in order to avoid "got positional argument after named arguments", it is safer to use positional (not named) arguments on call.</doc>
<status status="PASS" start="2026-05-25T00:44:50.337658" elapsed="0.634621"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:44:50.972735" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:44:50.972484" elapsed="0.000294"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:44:50.972822" elapsed="0.000028"/>
</return>
<arg>command=${command}</arg>
<arg>member_index=${index}</arg>
<doc>Obtain IP, call Utils and return output. This keeps previous ssh session active.</doc>
<status status="PASS" start="2026-05-25T00:44:50.336616" elapsed="0.636331"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-05-25T00:44:50.336411" elapsed="0.636576"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-05-25T00:44:50.336273" elapsed="0.636751"/>
</for>
<arg>command=netstat -pnatu | grep 2550</arg>
<doc>Cycle through indices (or all), run command on each.</doc>
<status status="PASS" start="2026-05-25T00:44:50.332229" elapsed="0.640885"/>
</kw>
<arg>wait_for_sync=False</arg>
<doc>If the list is empty, start all cluster members. Otherwise, start members based on present indices.
If ${wait_for_sync}, wait for cluster sync on listed members.
Optionally karaf_home can be overriden. Optionally specific JAVA_HOME is used for starting.
Garbage collection is unconditionally logged to files. TODO: Make that reasonable conditional?</doc>
<status status="FAIL" start="2026-05-25T00:38:42.645772" elapsed="368.327426">Keyword 'Verify_Members_Are_Ready' failed after retrying for 6 minutes. The last error was: HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<doc>Stop and Start controller.</doc>
<status status="FAIL" start="2026-05-25T00:38:36.361624" elapsed="374.611805">Keyword 'Verify_Members_Are_Ready' failed after retrying for 6 minutes. The last error was: HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</test>
<test id="s1-s4-s1-t18" name="Check Linear Topology After Controller Restarts" line="128">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:50.989301" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:50.989368" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:50.989490" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.975566" elapsed="0.014404">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.990268" elapsed="0.000026"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.990742" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.990945" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.991141" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.991354" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.991549" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.991748" elapsed="0.000020"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.992026" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.991843" elapsed="0.000237"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.991823" elapsed="0.000286"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.992351" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.992163" elapsed="0.000243"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.992147" elapsed="0.000284"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:50.992658" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:50.992485" elapsed="0.000227"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:50.992470" elapsed="0.000266"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:44:50.990567" elapsed="0.002192"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:44:50.990355" elapsed="0.002431"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.975216" elapsed="0.017672">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:53.002164" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:53.002286" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:53.002461" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:52.995192" elapsed="0.007885">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.003531" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.004152" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.004458" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.004735" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.005009" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.005302" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.005584" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.005958" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:53.005713" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:53.005687" elapsed="0.000384"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.006407" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:53.006150" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:53.006129" elapsed="0.000390"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:53.006897" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:53.006594" elapsed="0.000412"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:53.006572" elapsed="0.000470"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:44:53.003913" elapsed="0.003163"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:44:53.003641" elapsed="0.003470"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:44:52.994226" elapsed="0.013047">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:55.016726" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:55.016911" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:55.017221" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:55.009596" elapsed="0.008708">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.018970" elapsed="0.000064"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.020106" elapsed="0.000052"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.020665" elapsed="0.000052"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.021124" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.021619" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.022065" elapsed="0.000048"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.022590" elapsed="0.000054"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.023234" elapsed="0.000091"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:55.022812" elapsed="0.000733"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:55.022767" elapsed="0.000844"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.024139" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:55.023741" elapsed="0.000558"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:55.023703" elapsed="0.000667"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:55.025069" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:55.024661" elapsed="0.000522"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:55.024616" elapsed="0.000593"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:44:55.019712" elapsed="0.005520"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:44:55.019168" elapsed="0.006111"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:44:55.008627" elapsed="0.016784">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:57.033788" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:57.033920" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:57.034086" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:57.027918" elapsed="0.006796">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.035063" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.036013" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.036322" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.036601" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.036871" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.037146" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.037438" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.037813" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:57.037569" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:57.037541" elapsed="0.000412"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.038346" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:57.038075" elapsed="0.000351"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:57.038045" elapsed="0.000415"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:57.038771" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:57.038534" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:57.038513" elapsed="0.000369"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:44:57.035457" elapsed="0.003458"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:44:57.035171" elapsed="0.003780"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:44:57.026829" elapsed="0.012258">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:44:59.047422" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:44:59.047698" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:44:59.047953" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:44:59.041300" elapsed="0.007647">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.049547" elapsed="0.000057"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.050624" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.051114" elapsed="0.000051"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.051791" elapsed="0.000057"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.052269" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.052546" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.052823" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.053196" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:59.052952" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:59.052925" elapsed="0.000411"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.053652" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:59.053413" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:59.053390" elapsed="0.000374"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:44:59.054079" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:44:59.053837" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:44:59.053816" elapsed="0.000374"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:44:59.050176" elapsed="0.004048"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:44:59.049727" elapsed="0.004553"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:44:59.040369" elapsed="0.014050">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:01.060770" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:01.060834" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:01.060953" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:01.056627" elapsed="0.004802">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.061695" elapsed="0.000025"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.062142" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.062371" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.062652" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.062853" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.063052" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.063271" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.063549" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:01.063368" elapsed="0.000238"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:01.063348" elapsed="0.000285"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.063862" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:01.063689" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:01.063673" elapsed="0.000268"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:01.064215" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:01.063995" elapsed="0.000293"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:01.063979" elapsed="0.000335"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:01.061966" elapsed="0.002371"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:01.061775" elapsed="0.002588"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:01.055923" elapsed="0.008540">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:03.072130" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:03.072290" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:03.072484" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:03.066733" elapsed="0.006864">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.074287" elapsed="0.000060"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.075122" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.075535" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.075822" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.076093" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.076387" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.076661" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.077053" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:03.076787" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:03.076761" elapsed="0.000412"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.077565" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:03.077272" elapsed="0.000457"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:03.077227" elapsed="0.000541"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:03.078097" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:03.077846" elapsed="0.000363"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:03.077824" elapsed="0.000474"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:03.074783" elapsed="0.003568"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:03.074442" elapsed="0.003949"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:03.066055" elapsed="0.012483">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:05.087171" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:05.087328" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:05.087499" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:05.080931" elapsed="0.007176">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.088535" elapsed="0.000040"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.089209" elapsed="0.000058"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.089604" elapsed="0.000043"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.089952" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.090275" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.090570" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.090866" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.091292" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:05.091007" elapsed="0.000421"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:05.090976" elapsed="0.000495"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.091814" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:05.091554" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:05.091531" elapsed="0.000401"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:05.092289" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:05.092011" elapsed="0.000410"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:05.091988" elapsed="0.000478"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:05.088952" elapsed="0.003551"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:05.088659" elapsed="0.003887"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:05.080000" elapsed="0.012716">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:07.101590" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:07.101678" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:07.101955" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:07.094974" elapsed="0.007984">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.103337" elapsed="0.000056"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.103980" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.104291" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.104573" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.104851" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.105131" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.105431" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.105840" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:07.105562" elapsed="0.000361"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:07.105534" elapsed="0.000425"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.106304" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:07.106037" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:07.106014" elapsed="0.000405"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:07.106736" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:07.106496" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:07.106473" elapsed="0.000374"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:07.103739" elapsed="0.003140"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:07.103469" elapsed="0.003446"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:07.094006" elapsed="0.013049">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:09.115326" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:09.115422" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:09.115596" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:09.109580" elapsed="0.006651">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.116663" elapsed="0.000039"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.117371" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.117688" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.117987" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.118310" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.118628" elapsed="0.000032"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.119076" elapsed="0.000037"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.119537" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:09.119233" elapsed="0.000392"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:09.119201" elapsed="0.000464"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.120009" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:09.119749" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:09.119723" elapsed="0.000408"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:09.120512" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:09.120211" elapsed="0.000388"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:09.120186" elapsed="0.000450"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:09.117073" elapsed="0.003600"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:09.116783" elapsed="0.003929"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:09.108420" elapsed="0.012444">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:11.129543" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:11.129629" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:11.129785" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:11.123322" elapsed="0.007081">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.130759" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.131449" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.131747" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.132041" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.132350" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.132642" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.132931" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.133682" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:11.133404" elapsed="0.000362"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:11.133039" elapsed="0.000766"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.134142" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:11.133887" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:11.133864" elapsed="0.000418"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:11.134616" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:11.134362" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:11.134339" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:11.131132" elapsed="0.003636"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:11.130867" elapsed="0.003939"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:11.122289" elapsed="0.012661">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:13.143197" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:13.143315" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:13.143480" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:13.137330" elapsed="0.006758">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.144467" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.145113" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.145421" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.145702" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.145985" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.146286" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.146572" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.146957" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:13.146710" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:13.146678" elapsed="0.000393"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.147413" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:13.147149" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:13.147127" elapsed="0.000399"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:13.147846" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:13.147601" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:13.147580" elapsed="0.000377"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:13.144870" elapsed="0.003119"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:13.144576" elapsed="0.003450"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:13.136360" elapsed="0.011803">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:15.153835" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:15.153903" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:15.154026" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:15.149604" elapsed="0.004911">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.154870" elapsed="0.000026"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.155354" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.155566" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.155781" elapsed="0.000024"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.155989" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.156191" elapsed="0.000022"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.156457" elapsed="0.000024"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.156745" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:15.156564" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:15.156542" elapsed="0.000308"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.157086" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:15.156908" elapsed="0.000237"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:15.156891" elapsed="0.000279"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:15.157421" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:15.157225" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:15.157209" elapsed="0.000296"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:15.155155" elapsed="0.002374"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:15.154956" elapsed="0.002600"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:15.149081" elapsed="0.008580">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:17.166549" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:17.166634" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:17.166804" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:17.159888" elapsed="0.007540">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.167777" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.168407" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.168692" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.168969" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.169260" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.169556" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.169845" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.170218" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:17.169973" elapsed="0.000487"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:17.169946" elapsed="0.000555"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.170826" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:17.170580" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:17.170557" elapsed="0.000379"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:17.171267" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:17.171010" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:17.170988" elapsed="0.000392"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:17.168146" elapsed="0.003267"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:17.167883" elapsed="0.003566"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:17.158961" elapsed="0.012626">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:19.179406" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:19.179506" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:19.179680" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:19.173896" elapsed="0.006422">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.180709" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.181394" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.181680" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.181954" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.182224" elapsed="0.000053"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.182523" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.182796" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.183168" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:19.182925" elapsed="0.000428"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:19.182898" elapsed="0.000504"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.183738" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:19.183488" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:19.183464" elapsed="0.000388"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:19.184232" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:19.183924" elapsed="0.000407"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:19.183903" elapsed="0.000462"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:19.181125" elapsed="0.003272"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:19.180829" elapsed="0.003603"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:19.172909" elapsed="0.011664">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:21.193514" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:21.193716" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:21.193893" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:21.187010" elapsed="0.007515">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.194893" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.195911" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.196207" elapsed="0.000051"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.196516" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.196812" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.197104" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.197408" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.197801" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:21.197541" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:21.197515" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.198259" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:21.197995" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:21.197973" elapsed="0.000402"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:21.198692" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:21.198449" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:21.198427" elapsed="0.000396"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:21.195648" elapsed="0.003212"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:21.195002" elapsed="0.003894"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:21.185895" elapsed="0.013142">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:23.206717" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:23.206802" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:23.206962" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:23.201457" elapsed="0.006137">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.207945" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.208578" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.208867" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.209276" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.209562" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.209843" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.210132" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.210567" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:23.210283" elapsed="0.000365"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:23.210254" elapsed="0.000429"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.211001" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:23.210760" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:23.210738" elapsed="0.000373"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:23.211446" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:23.211185" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:23.211163" elapsed="0.000395"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:23.208338" elapsed="0.003252"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:23.208051" elapsed="0.003574"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:23.200501" elapsed="0.011258">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:25.220792" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:25.220876" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:25.221030" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:25.214087" elapsed="0.007593">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.222029" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.222655" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.222938" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.223213" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.223508" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.223782" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.224060" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.224455" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:25.224188" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:25.224161" elapsed="0.000409"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.224886" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:25.224646" elapsed="0.000398"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:25.224624" elapsed="0.000458"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:25.225866" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:25.225164" elapsed="0.000787"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:25.225141" elapsed="0.000844"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:25.222417" elapsed="0.003602"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:25.222134" elapsed="0.003921"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:25.213100" elapsed="0.013091">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:27.232210" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:27.232324" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:27.232481" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:27.227864" elapsed="0.005213">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.233446" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.234132" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.234451" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.234728" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.235000" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.235294" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.235572" elapsed="0.000123"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.236081" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:27.235825" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:27.235793" elapsed="0.000403"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.236539" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:27.236299" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:27.236274" elapsed="0.000374"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:27.236958" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:27.236720" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:27.236700" elapsed="0.000366"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:27.233821" elapsed="0.003277"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:27.233552" elapsed="0.003581"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:27.227167" elapsed="0.010124">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:29.246427" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:29.246554" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:29.246907" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:29.239569" elapsed="0.008257">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.248412" elapsed="0.000052"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.249390" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.249866" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.250289" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.250767" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.251052" elapsed="0.000033"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.251379" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.251798" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:29.251528" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:29.251496" elapsed="0.000431"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.252310" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:29.252015" elapsed="0.000380"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:29.251990" elapsed="0.000441"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:29.252785" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:29.252516" elapsed="0.000356"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:29.252492" elapsed="0.000418"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:29.248980" elapsed="0.003965"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:29.248573" elapsed="0.004412"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:29.238619" elapsed="0.014533">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:31.266752" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:31.266859" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:31.267054" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:31.260158" elapsed="0.008151">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.268878" elapsed="0.000056"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.269881" elapsed="0.000049"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.270367" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.270837" elapsed="0.000058"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.271329" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.271837" elapsed="0.000048"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.272364" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.272777" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:31.272510" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:31.272479" elapsed="0.000420"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.273253" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:31.272980" elapsed="0.000356"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:31.272957" elapsed="0.000415"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:31.273709" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:31.273451" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:31.273428" elapsed="0.000397"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:31.269505" elapsed="0.004356"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:31.269045" elapsed="0.004855"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:31.254740" elapsed="0.019319">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:33.282484" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:33.282569" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:33.282724" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:33.276301" elapsed="0.007035">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.283852" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.284474" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.284753" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.285025" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.285341" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.285613" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.285884" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.286270" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:33.286012" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:33.285986" elapsed="0.000399"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.286699" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:33.286461" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:33.286439" elapsed="0.000374"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:33.287125" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:33.286889" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:33.286867" elapsed="0.000388"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:33.284216" elapsed="0.003075"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:33.283957" elapsed="0.003370"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:33.275398" elapsed="0.012062">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:35.295949" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:35.296085" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:35.296359" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:35.289756" elapsed="0.007565">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.297731" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.298828" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.299140" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.299460" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.299759" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.300053" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.300367" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.300771" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:35.300506" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:35.300478" elapsed="0.000415"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.301253" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:35.300976" elapsed="0.000363"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:35.300953" elapsed="0.000422"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:35.301841" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:35.301455" elapsed="0.000468"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:35.301432" elapsed="0.000526"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:35.298565" elapsed="0.003428"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:35.297847" elapsed="0.004185"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:35.288845" elapsed="0.013383">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:37.309117" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:37.309302" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:37.309549" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:37.303958" elapsed="0.006521">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.311157" elapsed="0.000175"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.312004" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.312331" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.312629" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.312920" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.313212" elapsed="0.000050"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.313531" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.313933" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:37.313669" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:37.313641" elapsed="0.000412"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.314407" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:37.314133" elapsed="0.000356"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:37.314110" elapsed="0.000415"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:37.314855" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:37.314602" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:37.314579" elapsed="0.000390"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:37.311747" elapsed="0.003256"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:37.311450" elapsed="0.003592"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:37.303320" elapsed="0.012030">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:39.323658" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:39.323756" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:39.323924" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:39.318188" elapsed="0.006422">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.324975" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.325651" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.325953" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.326263" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.326559" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.326847" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.327137" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.327547" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:39.327290" elapsed="0.000505"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:39.327260" elapsed="0.000577"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.328176" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:39.327921" elapsed="0.000434"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:39.327898" elapsed="0.000497"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:39.328731" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:39.328478" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:39.328454" elapsed="0.000389"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:39.325397" elapsed="0.003479"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:39.325087" elapsed="0.003825"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:39.317133" elapsed="0.011917">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:41.337567" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:41.337656" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:41.337827" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:41.331947" elapsed="0.006507">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.338801" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.339430" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.339718" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.339995" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.340287" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.340564" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.340845" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.341328" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:41.340975" elapsed="0.000464"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:41.340948" elapsed="0.000540"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.342087" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:41.341598" elapsed="0.000627"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:41.341564" elapsed="0.000754"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:41.342976" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:41.342445" elapsed="0.000676"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:41.342410" elapsed="0.000767"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:41.339169" elapsed="0.004061"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:41.338907" elapsed="0.004417"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:41.331040" elapsed="0.012508">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:43.352018" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:43.352208" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:43.352404" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:43.345841" elapsed="0.007213">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.353446" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.354081" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.354428" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.354706" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.354975" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.355275" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.355554" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.355928" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:43.355684" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:43.355657" elapsed="0.000386"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.356392" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:43.356124" elapsed="0.000350"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:43.356097" elapsed="0.000413"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:43.356826" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:43.356587" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:43.356565" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:43.353833" elapsed="0.003141"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:43.353557" elapsed="0.003454"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:43.344909" elapsed="0.012248">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:45.366511" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:45.366616" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:45.366779" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:45.359638" elapsed="0.008217">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.368215" elapsed="0.000057"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.368876" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.369169" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.369553" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.369839" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.370118" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.370420" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.370820" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:45.370569" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:45.370540" elapsed="0.000400"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.371297" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:45.371027" elapsed="0.000375"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:45.371004" elapsed="0.000434"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:45.371754" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:45.371514" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:45.371492" elapsed="0.000372"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:45.368630" elapsed="0.003266"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:45.368349" elapsed="0.003583"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:45.358561" elapsed="0.013510">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:47.384321" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:47.384413" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:47.384604" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:47.375644" elapsed="0.009655">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.385663" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.386340" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.386639" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.386925" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.387220" elapsed="0.000051"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.387543" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.387832" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.388260" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:47.387969" elapsed="0.000379"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:47.387939" elapsed="0.000449"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.388772" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:47.388517" elapsed="0.000444"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:47.388490" elapsed="0.000513"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:47.389367" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:47.389084" elapsed="0.000367"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:47.389061" elapsed="0.000427"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:47.386052" elapsed="0.003471"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:47.385774" elapsed="0.003787"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:47.374527" elapsed="0.015177">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:49.396372" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:49.396461" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:49.396622" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:49.391441" elapsed="0.005991">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.397827" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.398502" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.398912" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.399337" elapsed="0.000045"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.399745" elapsed="0.000043"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.400144" elapsed="0.000041"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.400471" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.401194" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:49.400931" elapsed="0.000365"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:49.400580" elapsed="0.000757"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.401713" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:49.401417" elapsed="0.000377"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:49.401395" elapsed="0.000433"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:49.402150" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:49.401903" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:49.401881" elapsed="0.000399"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:49.398205" elapsed="0.004109"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:49.397936" elapsed="0.004416"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:49.390790" elapsed="0.011721">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:51.410360" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:51.410446" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:51.410724" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:51.404773" elapsed="0.006567">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.411688" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.412323" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.412619" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.412900" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.413177" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.413478" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.413757" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.414139" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:51.413887" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:51.413860" elapsed="0.000412"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.414629" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:51.414350" elapsed="0.000359"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:51.414328" elapsed="0.000416"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:51.415059" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:51.414819" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:51.414797" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:51.412062" elapsed="0.003142"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:51.411793" elapsed="0.003465"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:51.403838" elapsed="0.011565">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:53.421782" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:53.421870" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:53.422047" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:53.417067" elapsed="0.005627">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.423055" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.423790" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.424107" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.424411" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.424688" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.424966" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.425356" elapsed="0.000038"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.425754" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:53.425504" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:53.425476" elapsed="0.000391"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.426183" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:53.425944" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:53.425922" elapsed="0.000395"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:53.426634" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:53.426393" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:53.426371" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:53.423519" elapsed="0.003260"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:53.423193" elapsed="0.003621"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:53.416446" elapsed="0.010506">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:55.435714" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:55.435802" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:55.435974" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:55.429221" elapsed="0.007376">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.436964" elapsed="0.000032"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.437602" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.437886" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.438163" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.438457" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.438734" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.439008" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.439401" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:55.439135" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:55.439108" elapsed="0.000407"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.439832" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:55.439591" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:55.439568" elapsed="0.000379"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:55.440285" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:55.440021" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:55.439999" elapsed="0.000401"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:55.437360" elapsed="0.003074"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:55.437067" elapsed="0.003402"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:55.428316" elapsed="0.012291">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:57.449266" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:57.449355" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:57.449513" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:57.443049" elapsed="0.007091">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.450515" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.451141" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.451455" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.451739" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.452019" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.452319" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.452604" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.452984" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:57.452735" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:57.452708" elapsed="0.000389"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.453437" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:57.453174" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:57.453152" elapsed="0.000400"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:57.453914" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:57.453630" elapsed="0.000364"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:57.453607" elapsed="0.000421"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:57.450897" elapsed="0.003164"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:57.450626" elapsed="0.003471"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:57.442100" elapsed="0.012134">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:45:59.462192" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:45:59.462305" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:45:59.462462" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:45:59.456790" elapsed="0.006317">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.463583" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.464577" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.464874" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.465159" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.465464" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.465749" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.466030" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.466436" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:59.466161" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:59.466134" elapsed="0.000418"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.466917" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:59.466630" elapsed="0.000366"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:59.466608" elapsed="0.000423"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:45:59.467366" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:45:59.467105" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:45:59.467084" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:45:59.464325" elapsed="0.003186"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:45:59.463695" elapsed="0.003852"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:45:59.455870" elapsed="0.011816">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:01.476559" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:01.476739" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:01.477022" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:01.470183" elapsed="0.007828">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.478737" elapsed="0.000067"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.479984" elapsed="0.000081"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.480419" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.480701" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.480975" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.481265" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.481546" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.481926" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:01.481680" elapsed="0.000457"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:01.481651" elapsed="0.000528"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.482595" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:01.482282" elapsed="0.000418"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:01.482255" elapsed="0.000490"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:01.483086" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:01.482836" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:01.482811" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:01.479427" elapsed="0.003837"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:01.478931" elapsed="0.004375"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:01.469007" elapsed="0.014450">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:03.493643" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:03.493732" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:03.493893" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:03.485963" elapsed="0.008547">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.494868" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.495505" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.495787" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.496062" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.496356" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.496632" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.496977" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.497384" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:03.497111" elapsed="0.000353"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:03.497084" elapsed="0.000416"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.497814" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:03.497575" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:03.497553" elapsed="0.000370"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:03.498252" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:03.497996" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:03.497974" elapsed="0.000392"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:03.495264" elapsed="0.003134"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:03.494976" elapsed="0.003458"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:03.484927" elapsed="0.013643">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:05.506475" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:05.506694" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:05.506866" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:05.501326" elapsed="0.006157">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.507833" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.508464" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.508751" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.509034" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.509332" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.509613" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.509888" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.510306" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:05.510041" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:05.510013" elapsed="0.000409"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.510745" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:05.510500" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:05.510477" elapsed="0.000381"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:05.511174" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:05.510933" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:05.510911" elapsed="0.000398"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:05.508197" elapsed="0.003145"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:05.507938" elapsed="0.003440"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:05.500421" elapsed="0.011095">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:07.520240" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:07.520359" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:07.520528" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:07.513984" elapsed="0.007180">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.521561" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.522250" elapsed="0.000059"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.522616" elapsed="0.000036"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.523026" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.523370" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.523770" elapsed="0.000032"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.524072" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.524499" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:07.524210" elapsed="0.000377"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:07.524181" elapsed="0.000443"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.524982" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:07.524706" elapsed="0.000360"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:07.524682" elapsed="0.000420"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:07.525466" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:07.525182" elapsed="0.000368"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:07.525158" elapsed="0.000429"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:07.521959" elapsed="0.003663"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:07.521674" elapsed="0.003986"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:07.512877" elapsed="0.012929">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:09.534353" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:09.534487" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:09.535195" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:09.528149" elapsed="0.008052">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.536734" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.537364" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.537648" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.537927" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.538200" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.538495" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.538773" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.539147" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:09.538901" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:09.538875" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.539601" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:09.539359" elapsed="0.000419"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:09.539336" elapsed="0.000481"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:09.540138" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:09.539894" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:09.539872" elapsed="0.000383"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:09.537105" elapsed="0.003203"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:09.536841" elapsed="0.003504"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:09.527215" elapsed="0.013266">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:11.549699" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:11.549801" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:11.549977" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:11.543141" elapsed="0.007495">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.551044" elapsed="0.000040"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.551746" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.552052" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.552402" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.552698" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.552994" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.553311" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.553711" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:11.553450" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:11.553421" elapsed="0.000410"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.554169" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:11.553911" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:11.553888" elapsed="0.000421"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:11.554644" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:11.554387" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:11.554364" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:11.551489" elapsed="0.003306"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:11.551164" elapsed="0.003670"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:11.541944" elapsed="0.013042">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:13.563911" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:13.564004" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:13.564336" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:13.557583" elapsed="0.007463">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.565504" elapsed="0.000038"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.566156" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.566477" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.566768" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.567055" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.567368" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.567953" elapsed="0.000033"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.568381" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:13.568094" elapsed="0.000370"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:13.568065" elapsed="0.000436"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.568835" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:13.568581" elapsed="0.000379"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:13.568558" elapsed="0.000440"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:13.569356" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:13.569078" elapsed="0.000361"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:13.569054" elapsed="0.000421"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:13.565905" elapsed="0.003605"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:13.565622" elapsed="0.003925"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:13.556379" elapsed="0.013315">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:15.578324" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:15.578457" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:15.578691" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:15.571949" elapsed="0.007672">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.580153" elapsed="0.000052"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.581183" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.581536" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.581830" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.582119" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.582431" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.582815" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.583211" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:15.582952" elapsed="0.000364"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:15.582924" elapsed="0.000430"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.583695" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:15.583436" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:15.583412" elapsed="0.000401"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:15.584145" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:15.583891" elapsed="0.000508"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:15.583869" elapsed="0.000601"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:15.580851" elapsed="0.003657"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:15.580352" elapsed="0.004195"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:15.571011" elapsed="0.013693">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:17.591371" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:17.591460" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:17.591617" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:17.586440" elapsed="0.005780">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.592597" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.593408" elapsed="0.000057"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.593909" elapsed="0.000054"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.594437" elapsed="0.000053"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.594959" elapsed="0.000054"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.595573" elapsed="0.000057"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.596074" elapsed="0.000052"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.596774" elapsed="0.000125"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:17.596342" elapsed="0.000652"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:17.596293" elapsed="0.000767"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.597447" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:17.597179" elapsed="0.000351"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:17.597153" elapsed="0.000412"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:17.597881" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:17.597641" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:17.597618" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:17.593026" elapsed="0.005006"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:17.592704" elapsed="0.005366"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:17.585790" elapsed="0.012422">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:19.607031" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:19.607124" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:19.607346" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:19.601160" elapsed="0.006829">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.608374" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.608987" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.609295" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.609575" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.609855" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.610182" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.610493" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.610865" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:19.610620" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:19.610593" elapsed="0.000383"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.611310" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:19.611051" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:19.611030" elapsed="0.000390"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:19.611772" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:19.611512" elapsed="0.000384"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:19.611482" elapsed="0.000449"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:19.608745" elapsed="0.003218"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:19.608480" elapsed="0.003520"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:19.600279" elapsed="0.011863">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:21.621693" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:21.621783" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:21.621946" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:21.614630" elapsed="0.007938">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.623086" elapsed="0.000038"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.623782" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.624067" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.624364" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.624642" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.624916" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.625189" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.625592" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:21.625341" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:21.625312" elapsed="0.000394"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.626070" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:21.625802" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:21.625772" elapsed="0.000414"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:21.626545" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:21.626287" elapsed="0.000410"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:21.626262" elapsed="0.000486"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:21.623529" elapsed="0.003256"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:21.623202" elapsed="0.003619"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:21.613587" elapsed="0.013377">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:23.633819" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:23.633904" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:23.634059" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:23.629134" elapsed="0.005922">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.635424" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.636025" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.636333" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.636613" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.636887" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.637160" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.637461" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.637840" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:23.637593" elapsed="0.000400"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:23.637566" elapsed="0.000465"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.638408" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:23.638109" elapsed="0.000383"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:23.638086" elapsed="0.000442"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:23.638845" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:23.638604" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:23.638582" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:23.635788" elapsed="0.003201"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:23.635531" elapsed="0.003494"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:23.628266" elapsed="0.010894">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:25.647015" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:25.647101" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:25.647288" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:25.641384" elapsed="0.006529">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.648301" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.648917" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.649200" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.649503" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.649779" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.650055" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.650352" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.650736" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:25.650485" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:25.650457" elapsed="0.000391"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.651162" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:25.650922" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:25.650901" elapsed="0.000392"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:25.651652" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:25.651410" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:25.651387" elapsed="0.000378"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:25.648677" elapsed="0.003119"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:25.648408" elapsed="0.003424"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:25.640476" elapsed="0.011493">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:27.661368" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:27.661607" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:27.661966" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:27.654472" elapsed="0.008268">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.663206" elapsed="0.000072"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.663931" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.664233" elapsed="0.000056"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.664554" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.664862" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.665158" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.665496" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.668578" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:27.668291" elapsed="0.000374"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:27.665615" elapsed="0.003089"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.669028" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:27.668785" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:27.668763" elapsed="0.000403"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:27.669507" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:27.669262" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:27.669220" elapsed="0.000397"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:27.663672" elapsed="0.005977"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:27.663369" elapsed="0.006317"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:27.653468" elapsed="0.016378">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:29.679147" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:29.679282" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:29.679463" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:29.672342" elapsed="0.007723">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.680522" elapsed="0.000040"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.681218" elapsed="0.000054"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.681546" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.681936" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.682227" elapsed="0.000052"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.682543" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.682841" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.683265" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:29.682978" elapsed="0.000372"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:29.682949" elapsed="0.000440"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.683726" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:29.683471" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:29.683448" elapsed="0.000395"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:29.684172" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:29.683921" elapsed="0.000352"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:29.683898" elapsed="0.000411"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:29.680965" elapsed="0.003379"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:29.680640" elapsed="0.003764"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:29.671311" elapsed="0.013260">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:31.693504" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:31.693591" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:31.693761" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:31.686889" elapsed="0.007507">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.694752" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.695380" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.695664" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.695937" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.696209" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.696503" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.696806" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.697219" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:31.696935" elapsed="0.000384"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:31.696908" elapsed="0.000447"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.697673" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:31.697431" elapsed="0.000397"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:31.697409" elapsed="0.000457"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:31.698186" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:31.697942" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:31.697920" elapsed="0.000398"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:31.695121" elapsed="0.003230"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:31.694857" elapsed="0.003530"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:31.685945" elapsed="0.012577">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:33.708679" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:33.708750" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:33.708893" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:33.701128" elapsed="0.008376">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.709788" elapsed="0.000025"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.710339" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.710597" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.710809" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.711022" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.711224" elapsed="0.000037"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.711463" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.711797" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:33.711561" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:33.711540" elapsed="0.000355"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.712143" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:33.711961" elapsed="0.000239"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:33.711945" elapsed="0.000280"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:33.712498" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:33.712298" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:33.712282" elapsed="0.000298"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:33.710078" elapsed="0.002526"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:33.709869" elapsed="0.002762"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:33.699965" elapsed="0.012777">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:35.721479" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:35.721613" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:35.722026" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:35.715065" elapsed="0.008405">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.724333" elapsed="0.000065"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.725320" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.725609" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.725904" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.726192" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.726495" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.726776" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.727155" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:35.726908" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:35.726880" elapsed="0.000416"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.727618" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:35.727375" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:35.727353" elapsed="0.000379"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:35.728045" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:35.727805" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:35.727784" elapsed="0.000412"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:35.724959" elapsed="0.003274"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:35.724521" elapsed="0.003770"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:35.714103" elapsed="0.014336">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:37.738273" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:37.738467" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:37.738769" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:37.730750" elapsed="0.009133">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.740654" elapsed="0.000072"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.741840" elapsed="0.000058"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.742372" elapsed="0.000051"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.742878" elapsed="0.000049"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.743380" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.743815" elapsed="0.000044"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.744407" elapsed="0.000048"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.745551" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:37.745116" elapsed="0.000561"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:37.744571" elapsed="0.001165"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.746264" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:37.745859" elapsed="0.000527"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:37.745824" elapsed="0.000616"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:37.746991" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:37.746557" elapsed="0.000558"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:37.746523" elapsed="0.000645"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:37.741381" elapsed="0.005838"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:37.740857" elapsed="0.006437"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:37.729807" elapsed="0.017606">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:39.756454" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:39.756578" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:39.756783" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:39.750318" elapsed="0.007158">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.757869" elapsed="0.000039"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.758581" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.758907" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.759192" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.759492" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.759767" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.760042" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.760452" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:39.760177" elapsed="0.000423"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:39.760148" elapsed="0.000496"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.760997" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:39.760751" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:39.760725" elapsed="0.000395"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:39.761470" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:39.761195" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:39.761173" elapsed="0.000413"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:39.758332" elapsed="0.003288"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:39.757991" elapsed="0.003667"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:39.749301" elapsed="0.012510">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:41.770354" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:41.770487" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:41.770719" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:41.764380" elapsed="0.007381">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.772331" elapsed="0.000055"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.773517" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.773839" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.774141" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.774460" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.774757" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.775048" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.775478" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:41.775186" elapsed="0.000374"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:41.775156" elapsed="0.000443"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.775939" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:41.775682" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:41.775658" elapsed="0.000398"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:41.776414" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:41.776135" elapsed="0.000424"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:41.776113" elapsed="0.000492"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:41.773079" elapsed="0.003566"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:41.772632" elapsed="0.004054"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:41.763360" elapsed="0.013482">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:43.785625" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:43.785712" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:43.785877" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:43.779163" elapsed="0.007327">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.786918" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.787545" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.787828" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.788104" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.788402" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.788680" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.788957" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.789353" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:43.789085" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:43.789059" elapsed="0.000407"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.789822" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:43.789540" elapsed="0.000360"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:43.789519" elapsed="0.000415"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:43.790267" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:43.790008" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:43.789986" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:43.787307" elapsed="0.003105"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:43.787023" elapsed="0.003424"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:43.778292" elapsed="0.012290">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:45.798963" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:45.799051" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:45.799210" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:45.792904" elapsed="0.006938">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.800198" elapsed="0.000039"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.800860" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.801157" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.801467" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.801747" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.802023" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.802351" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.802733" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:45.802484" elapsed="0.000422"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:45.802456" elapsed="0.000488"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.803293" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:45.803024" elapsed="0.000350"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:45.803001" elapsed="0.000408"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:45.803738" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:45.803486" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:45.803463" elapsed="0.000389"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:45.800613" elapsed="0.003272"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:45.800334" elapsed="0.003587"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:45.791954" elapsed="0.012108">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:47.812476" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:47.812584" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:47.812840" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:47.806647" elapsed="0.006970">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.814097" elapsed="0.000044"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.814915" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.815726" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.816074" elapsed="0.000036"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.816448" elapsed="0.000040"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.816906" elapsed="0.000037"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.817210" elapsed="0.000053"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.817651" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:47.817386" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:47.817350" elapsed="0.000421"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.818092" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:47.817849" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:47.817827" elapsed="0.000378"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:47.818587" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:47.818305" elapsed="0.000368"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:47.818279" elapsed="0.000429"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:47.814597" elapsed="0.004144"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:47.814236" elapsed="0.004543"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:47.805558" elapsed="0.013371">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:49.827647" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:49.827837" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:49.827996" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:49.821319" elapsed="0.007296">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.828964" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.829610" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.829903" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.830321" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.830604" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.830878" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.831305" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.831681" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:49.831438" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:49.831409" elapsed="0.000385"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.832110" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:49.831871" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:49.831849" elapsed="0.000372"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:49.832559" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:49.832319" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:49.832296" elapsed="0.000372"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:49.829365" elapsed="0.003336"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:49.829072" elapsed="0.003665"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:49.820347" elapsed="0.012532">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:51.839337" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:51.839425" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:51.839622" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:51.834483" elapsed="0.005751">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.840607" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.841216" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.841531" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.841912" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.842192" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.842495" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.842774" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.843153" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:51.842903" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:51.842877" elapsed="0.000413"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.843638" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:51.843368" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:51.843346" elapsed="0.000405"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:51.844070" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:51.843826" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:51.843804" elapsed="0.000377"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:51.840976" elapsed="0.003239"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:51.840715" elapsed="0.003558"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:51.833850" elapsed="0.010564">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:53.853424" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:53.853514" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:53.853688" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:53.847200" elapsed="0.007157">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.854737" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.855371" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.855654" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.855931" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.856204" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.856500" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.856775" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.857150" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:53.856905" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:53.856877" elapsed="0.000410"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.857603" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:53.857364" elapsed="0.000393"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:53.857342" elapsed="0.000452"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:53.858113" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:53.857871" elapsed="0.000361"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:53.857849" elapsed="0.000443"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:53.855107" elapsed="0.003220"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:53.854846" elapsed="0.003517"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:53.846347" elapsed="0.012153">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:55.868897" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:55.868981" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:55.869123" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:55.860752" elapsed="0.008886">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.869918" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.870426" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.870673" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.870869" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.871059" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.871268" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.871470" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.871741" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:55.871565" elapsed="0.000230"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:55.871545" elapsed="0.000277"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.872044" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:55.871876" elapsed="0.000222"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:55.871860" elapsed="0.000263"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:55.872377" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:55.872174" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:55.872159" elapsed="0.000300"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:55.870222" elapsed="0.002260"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:55.870014" elapsed="0.002493"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:55.859831" elapsed="0.012781">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:57.882195" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:57.882379" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:57.882631" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:57.874934" elapsed="0.008726">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.884031" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.884701" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.884992" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.885343" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.885630" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.885908" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.886188" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.886600" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:57.886342" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:57.886314" elapsed="0.000400"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.887032" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:57.886791" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:57.886768" elapsed="0.000376"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:57.887488" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:57.887219" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:57.887197" elapsed="0.000405"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:57.884461" elapsed="0.003193"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:57.884146" elapsed="0.003545"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:57.873998" elapsed="0.013831">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:46:59.895837" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:46:59.895922" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:46:59.896079" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:46:59.889815" elapsed="0.006922">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.897101" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.897727" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.898011" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.898305" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.898588" elapsed="0.000080"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.898930" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.899344" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.899746" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:59.899487" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:59.899455" elapsed="0.000411"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.900198" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:59.899946" elapsed="0.000353"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:59.899923" elapsed="0.000413"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:46:59.900665" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:46:59.900415" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:46:59.900391" elapsed="0.000390"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:46:59.897492" elapsed="0.003324"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:46:59.897210" elapsed="0.003644"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:46:59.889091" elapsed="0.011906">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:01.910061" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:01.910190" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:01.910457" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:01.903637" elapsed="0.007835">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.912048" elapsed="0.000056"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.912965" elapsed="0.000042"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.913384" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.913737" elapsed="0.000040"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.914044" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.914360" elapsed="0.000032"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.914660" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.916514" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:01.915822" elapsed="0.000871"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:01.914772" elapsed="0.001987"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.917329" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:01.916901" elapsed="0.000565"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:01.916865" elapsed="0.000677"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:01.918063" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:01.917672" elapsed="0.000519"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:01.917636" elapsed="0.000646"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:01.912630" elapsed="0.005712"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:01.912212" elapsed="0.006195"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:01.902425" elapsed="0.016338">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:03.927841" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:03.927932" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:03.928095" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:03.921355" elapsed="0.007404">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.929125" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.929803" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.930109" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.930424" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.930997" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.931339" elapsed="0.000032"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.931636" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.932032" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:03.931772" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:03.931743" elapsed="0.000407"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.932505" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:03.932249" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:03.932208" elapsed="0.000414"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:03.932951" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:03.932700" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:03.932678" elapsed="0.000388"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:03.929549" elapsed="0.003552"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:03.929259" elapsed="0.003882"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:03.920367" elapsed="0.012952">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:05.941644" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:05.941733" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:05.941896" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:05.935721" elapsed="0.006821">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.942986" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.943655" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.943953" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.944231" elapsed="0.000056"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.944537" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.944810" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.945087" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.945493" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:05.945220" elapsed="0.000412"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:05.945192" elapsed="0.000480"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.945996" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:05.945751" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:05.945729" elapsed="0.000402"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:05.946470" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:05.946206" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:05.946184" elapsed="0.000397"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:05.943391" elapsed="0.003222"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:05.943095" elapsed="0.003554"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:05.934771" elapsed="0.012017">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:07.955376" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:07.955470" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:07.955650" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:07.949043" elapsed="0.007285">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.956706" elapsed="0.000038"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.957390" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.957688" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.957980" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.958293" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.958582" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.958875" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.959293" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:07.959011" elapsed="0.000454"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:07.958982" elapsed="0.000524"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.959844" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:07.959588" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:07.959564" elapsed="0.000395"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:07.960352" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:07.960040" elapsed="0.000395"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:07.960018" elapsed="0.000453"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:07.957119" elapsed="0.003386"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:07.956822" elapsed="0.003721"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:07.948083" elapsed="0.012606">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:09.969062" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:09.969196" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:09.969475" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:09.962983" elapsed="0.007489">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.971006" elapsed="0.000050"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.971657" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.971934" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.972205" elapsed="0.000045"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.972496" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.972767" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.973038" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.973426" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:09.973165" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:09.973138" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.973854" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:09.973618" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:09.973596" elapsed="0.000366"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:09.974286" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:09.974034" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:09.974013" elapsed="0.000403"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:09.971421" elapsed="0.003027"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:09.971131" elapsed="0.003353"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:09.962012" elapsed="0.012609">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:11.981416" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:11.981597" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:11.981759" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:11.976556" elapsed="0.005882">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.982793" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.983807" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.984109" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.984429" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.984714" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.985070" elapsed="0.000041"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.985486" elapsed="0.000034"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.985999" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:11.985651" elapsed="0.000447"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:11.985615" elapsed="0.000532"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.986639" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:11.986367" elapsed="0.000356"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:11.986328" elapsed="0.000430"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:11.987073" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:11.986834" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:11.986812" elapsed="0.000365"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:11.983524" elapsed="0.003676"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:11.982904" elapsed="0.004322"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:11.975854" elapsed="0.011495">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:13.996661" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:13.996749" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:13.996911" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:13.990444" elapsed="0.007113">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:13.997974" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:13.998620" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:13.998906" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:13.999316" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:13.999597" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:13.999872" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:14.000152" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:14.000617" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:14.000309" elapsed="0.000398"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:14.000280" elapsed="0.000466"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:14.001069" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:14.000824" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:14.000802" elapsed="0.000380"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:14.001526" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:14.001282" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:14.001240" elapsed="0.000400"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:13.998378" elapsed="0.003336"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:13.998084" elapsed="0.003675"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:13.988868" elapsed="0.013034">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:16.010794" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:16.010883" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:16.011045" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:16.004608" elapsed="0.007065">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.012070" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.012766" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.013051" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.013395" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.013685" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.013994" elapsed="0.000035"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.014312" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.014724" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:16.014445" elapsed="0.000379"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:16.014418" elapsed="0.000447"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.015191" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:16.014945" elapsed="0.000434"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:16.014922" elapsed="0.000497"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:16.016023" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:16.015500" elapsed="0.000608"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:16.015477" elapsed="0.000668"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:16.012523" elapsed="0.003658"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:16.012223" elapsed="0.004040"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:16.003423" elapsed="0.012984">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:18.024405" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:18.024536" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:18.024769" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:18.018804" elapsed="0.006900">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.026291" elapsed="0.000056"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.027279" elapsed="0.000053"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.027737" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.028347" elapsed="0.000054"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.028641" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.028835" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.029031" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.029314" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:18.029125" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:18.029105" elapsed="0.000290"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.029617" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:18.029449" elapsed="0.000222"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:18.029434" elapsed="0.000260"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:18.029915" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:18.029746" elapsed="0.000223"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:18.029731" elapsed="0.000261"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:18.026868" elapsed="0.003147"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:18.026462" elapsed="0.003578"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:18.017852" elapsed="0.012287">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:20.038609" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:20.038694" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:20.038928" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:20.032479" elapsed="0.007065">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.039907" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.040563" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.040846" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.041119" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.041412" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.041689" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.041962" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.042371" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:20.042089" elapsed="0.000361"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:20.042063" elapsed="0.000422"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.042801" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:20.042559" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:20.042538" elapsed="0.000372"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:20.043217" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:20.042982" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:20.042961" elapsed="0.000392"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:20.040323" elapsed="0.003062"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:20.040026" elapsed="0.003399"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:20.031511" elapsed="0.012051">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:22.053083" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:22.053220" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:22.053545" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:22.046811" elapsed="0.007690">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.055047" elapsed="0.000053"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.056046" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.056526" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.057016" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.057479" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.057838" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.058230" elapsed="0.000054"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.058656" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:22.058394" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:22.058365" elapsed="0.000409"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.059107" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:22.058852" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:22.058830" elapsed="0.000393"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:22.059578" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:22.059324" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:22.059301" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:22.055667" elapsed="0.004065"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:22.055210" elapsed="0.004559"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:22.045300" elapsed="0.014623">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:24.065469" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:24.065551" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:24.065701" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:24.061533" elapsed="0.004774">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.066657" elapsed="0.000032"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.067251" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.067523" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.067784" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.068086" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.068370" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.068635" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.068990" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:24.068757" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:24.068732" elapsed="0.000376"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.069428" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:24.069178" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:24.069158" elapsed="0.000377"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:24.069832" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:24.069601" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:24.069582" elapsed="0.000373"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:24.067009" elapsed="0.002979"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:24.066759" elapsed="0.003262"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:24.060927" elapsed="0.009222">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:26.078959" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:26.079126" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:26.079421" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:26.072592" elapsed="0.007848">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.081191" elapsed="0.000097"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.083918" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.084174" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.084411" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.084613" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.084860" elapsed="0.000023"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.085072" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.085371" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:26.085174" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:26.085151" elapsed="0.000305"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.085682" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:26.085512" elapsed="0.000225"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:26.085497" elapsed="0.000264"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:26.086009" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:26.085814" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:26.085799" elapsed="0.000296"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:26.083679" elapsed="0.002439"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:26.081416" elapsed="0.004730"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:26.071651" elapsed="0.014643">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:28.094702" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:28.094788" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:28.094945" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:28.088658" elapsed="0.006913">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.096081" elapsed="0.000039"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.096721" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.097004" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.097301" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.097641" elapsed="0.000036"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.098008" elapsed="0.000037"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.098390" elapsed="0.000037"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.098866" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:28.098553" elapsed="0.000407"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:28.098520" elapsed="0.000485"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.099438" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:28.099108" elapsed="0.000427"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:28.099081" elapsed="0.000496"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:28.100028" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:28.099667" elapsed="0.000460"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:28.099641" elapsed="0.000527"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:28.096480" elapsed="0.003727"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:28.096199" elapsed="0.004075"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:28.087655" elapsed="0.012797">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:30.108919" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:30.109008" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:30.109200" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:30.102776" elapsed="0.007092">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.110259" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.110880" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.111171" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.111482" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.111760" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.112034" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.112341" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.112719" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:30.112473" elapsed="0.000401"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:30.112445" elapsed="0.000467"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.113258" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:30.112990" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:30.112968" elapsed="0.000406"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:30.113815" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:30.113470" elapsed="0.000438"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:30.113447" elapsed="0.000496"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:30.110637" elapsed="0.003340"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:30.110372" elapsed="0.003642"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:30.101808" elapsed="0.012352">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:32.122156" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:32.122334" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:32.122598" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:32.116887" elapsed="0.006675">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.124096" elapsed="0.000053"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.125099" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.125582" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.126056" elapsed="0.000052"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.126537" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.126975" elapsed="0.000044"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.127436" elapsed="0.000046"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.128051" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:32.127636" elapsed="0.000543"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:32.127594" elapsed="0.000676"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.128880" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:32.128406" elapsed="0.000640"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:32.128365" elapsed="0.000750"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:32.129687" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:32.129269" elapsed="0.000545"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:32.129203" elapsed="0.000666"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:32.124716" elapsed="0.005204"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:32.124297" elapsed="0.005680"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:32.115995" elapsed="0.014271">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:34.138035" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:34.138267" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:34.138462" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:34.132612" elapsed="0.006510">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.139509" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.140141" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.140444" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.140720" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.140994" elapsed="0.000043"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.141300" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.141582" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.142012" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:34.141711" elapsed="0.000383"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:34.141684" elapsed="0.000447"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.142528" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:34.142212" elapsed="0.000401"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:34.142188" elapsed="0.000461"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:34.142985" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:34.142727" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:34.142704" elapsed="0.000399"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:34.139886" elapsed="0.003250"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:34.139618" elapsed="0.003555"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:34.131636" elapsed="0.011703">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:36.151704" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:36.151789" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:36.152014" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:36.145642" elapsed="0.007430">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.153446" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.154054" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.154362" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.154713" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.154990" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.155284" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.155563" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.155936" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:36.155692" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:36.155666" elapsed="0.000385"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.156387" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:36.156126" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:36.156105" elapsed="0.000395"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:36.156814" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:36.156574" elapsed="0.000429"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:36.156552" elapsed="0.000495"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:36.153818" elapsed="0.003264"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:36.153554" elapsed="0.003564"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:36.144684" elapsed="0.012599">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:38.165776" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:38.165913" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:38.166154" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:38.159683" elapsed="0.007440">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.167798" elapsed="0.000057"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.168714" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.168923" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.169141" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.169355" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.169553" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.169775" elapsed="0.000023"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.170063" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:38.169876" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:38.169854" elapsed="0.000295"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.170397" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:38.170204" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:38.170188" elapsed="0.000358"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:38.170798" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:38.170606" elapsed="0.000252"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:38.170589" elapsed="0.000293"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:38.168445" elapsed="0.002462"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:38.167975" elapsed="0.002959"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:38.158640" elapsed="0.012398">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:40.179369" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:40.179504" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:40.179739" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:40.173394" elapsed="0.007274">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.181211" elapsed="0.000086"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.182434" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.182816" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.183112" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.183426" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.183719" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.184011" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.184788" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:40.184148" elapsed="0.000726"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:40.184118" elapsed="0.000797"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.185280" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:40.184999" elapsed="0.000366"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:40.184975" elapsed="0.000426"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:40.185739" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:40.185479" elapsed="0.000367"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:40.185456" elapsed="0.000426"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:40.181987" elapsed="0.003931"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:40.181414" elapsed="0.004543"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:40.172430" elapsed="0.013686">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:42.194487" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:42.194579" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:42.194840" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:42.188498" elapsed="0.006974">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.195860" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.196517" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.196835" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.197147" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.197454" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.197734" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.198015" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.198417" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:42.198145" elapsed="0.000353"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:42.198118" elapsed="0.000417"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.198866" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:42.198613" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:42.198591" elapsed="0.000395"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:42.199333" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:42.199062" elapsed="0.000351"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:42.199039" elapsed="0.000408"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:42.196261" elapsed="0.003219"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:42.195971" elapsed="0.003547"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:42.187460" elapsed="0.012199">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:44.208552" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:44.208694" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:44.208941" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:44.202085" elapsed="0.007982">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.210730" elapsed="0.000058"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.211330" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.211556" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.211798" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.212012" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.212210" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.212509" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.212786" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:44.212609" elapsed="0.000232"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:44.212588" elapsed="0.000280"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.213092" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:44.212922" elapsed="0.000225"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:44.212907" elapsed="0.000265"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:44.213411" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:44.213225" elapsed="0.000241"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:44.213209" elapsed="0.000280"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:44.211135" elapsed="0.002378"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:44.210915" elapsed="0.002624"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:44.201026" elapsed="0.012619">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:46.223597" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:46.223663" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:46.223793" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:46.217298" elapsed="0.007001">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.224575" elapsed="0.000024"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.225045" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.225278" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.225479" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.225677" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.225876" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.226101" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.226413" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:46.226212" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:46.226191" elapsed="0.000305"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.226726" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:46.226551" elapsed="0.000231"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:46.226536" elapsed="0.000270"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:46.227031" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:46.226859" elapsed="0.000226"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:46.226843" elapsed="0.000268"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:46.224851" elapsed="0.002283"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:46.224655" elapsed="0.002506"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:46.215011" elapsed="0.012292">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:48.236193" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:48.236317" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:48.236517" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:48.229678" elapsed="0.007494">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.237575" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.238202" elapsed="0.000062"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.238543" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.238824" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.239097" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.239391" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.239676" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.240055" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:48.239808" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:48.239779" elapsed="0.000390"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.240505" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:48.240263" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:48.240223" elapsed="0.000392"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:48.240993" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:48.240741" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:48.240706" elapsed="0.000401"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:48.237959" elapsed="0.003180"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:48.237687" elapsed="0.003488"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:48.228719" elapsed="0.012623">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:50.247510" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:50.247589" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:50.247737" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:50.242966" elapsed="0.005375">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.248768" elapsed="0.000030"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.249723" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.249996" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.250274" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.250536" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.250793" elapsed="0.000026"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.251051" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.251419" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:50.251167" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:50.251142" elapsed="0.000382"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.251818" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:50.251593" elapsed="0.000294"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:50.251573" elapsed="0.000346"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:50.252212" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:50.251986" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:50.251967" elapsed="0.000365"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:50.249494" elapsed="0.002869"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:50.248867" elapsed="0.003528"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:50.242347" elapsed="0.010174">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:52.261783" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:52.261928" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:52.262180" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:52.254485" elapsed="0.008719">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.263812" elapsed="0.000058"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.264912" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.265480" elapsed="0.000201"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.266206" elapsed="0.000089"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.266609" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.266893" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.267169" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.267560" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:52.267318" elapsed="0.000405"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:52.267290" elapsed="0.000472"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.268079" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:52.267840" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:52.267818" elapsed="0.000372"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:52.268527" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:52.268287" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:52.268262" elapsed="0.000376"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:52.264488" elapsed="0.004182"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:52.263993" elapsed="0.004712"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:52.253715" elapsed="0.015129">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:54.278092" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:54.278179" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:54.278382" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:54.271079" elapsed="0.007912">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.279373" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.279981" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.280282" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.280565" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.280843" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.281117" elapsed="0.000041"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.281423" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.281798" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:54.281552" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:54.281525" elapsed="0.000384"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.282221" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:54.281982" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:54.281961" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:54.282677" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:54.282439" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:54.282418" elapsed="0.000370"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:54.279744" elapsed="0.003076"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:54.279482" elapsed="0.003372"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:54.270107" elapsed="0.012883">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:56.291499" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:56.291657" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:56.291824" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:56.285767" elapsed="0.006671">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.292785" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.293419" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.293706" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.293987" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.294281" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.294556" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.294860" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.295253" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:56.294989" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:56.294962" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.295681" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:56.295442" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:56.295420" elapsed="0.000371"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:56.296101" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:56.295864" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:56.295843" elapsed="0.000366"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:56.293156" elapsed="0.003104"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:56.292891" elapsed="0.003408"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:56.284861" elapsed="0.011576">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:47:58.304682" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:47:58.304775" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:47:58.304940" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:47:58.298726" elapsed="0.006901">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.306025" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.306702" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.307008" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.307426" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.307723" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.308013" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.308334" elapsed="0.000040"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.308817" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:58.308532" elapsed="0.000369"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:58.308494" elapsed="0.000446"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.309348" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:58.309021" elapsed="0.000458"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:58.308998" elapsed="0.000528"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:47:58.309882" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:47:58.309622" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:47:58.309597" elapsed="0.000402"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:47:58.306447" elapsed="0.003586"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:47:58.306141" elapsed="0.003930"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:47:58.297786" elapsed="0.012439">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:00.315930" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:00.316021" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:00.316186" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:00.311883" elapsed="0.005288">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.317569" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.318203" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.318488" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.318745" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.318999" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.319283" elapsed="0.000026"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.319550" elapsed="0.000025"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.319891" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:00.319667" elapsed="0.000296"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:00.319641" elapsed="0.000357"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.320334" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:00.320071" elapsed="0.000408"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:00.320049" elapsed="0.000469"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:00.320819" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:00.320586" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:00.320566" elapsed="0.000354"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:00.317951" elapsed="0.002999"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:00.317681" elapsed="0.003302"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:00.311288" elapsed="0.009835">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:02.330223" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:02.330439" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:02.330693" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:02.323363" elapsed="0.008289">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.332210" elapsed="0.000091"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.333317" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.333787" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.334269" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.334712" elapsed="0.000150"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.335360" elapsed="0.000052"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.335859" elapsed="0.000053"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.336696" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:02.336076" elapsed="0.000763"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:02.336034" elapsed="0.000847"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.337123" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:02.336937" elapsed="0.000247"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:02.336921" elapsed="0.000287"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:02.337466" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:02.337290" elapsed="0.000231"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:02.337269" elapsed="0.000276"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:02.332896" elapsed="0.004673"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:02.332457" elapsed="0.005137"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:02.322419" elapsed="0.015279">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:04.345886" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:04.346021" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:04.346411" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:04.339953" elapsed="0.007538">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.348346" elapsed="0.000064"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.349146" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.349362" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.349557" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.349750" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.349943" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.350144" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.350667" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:04.350480" elapsed="0.000244"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:04.350218" elapsed="0.000535"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.350980" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:04.350808" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:04.350792" elapsed="0.000267"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:04.351296" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:04.351111" elapsed="0.000248"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:04.351096" elapsed="0.000286"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:04.348952" elapsed="0.002454"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:04.348533" elapsed="0.002899"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:04.339015" elapsed="0.012545">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:06.359900" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:06.360023" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:06.360203" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:06.353846" elapsed="0.006977">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.361189" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.361821" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.362105" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.362397" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.362670" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.362946" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.363321" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.363700" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:06.363454" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:06.363427" elapsed="0.000386"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.364146" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:06.363889" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:06.363867" elapsed="0.000413"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:06.364601" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:06.364356" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:06.364334" elapsed="0.000378"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:06.361583" elapsed="0.003162"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:06.361319" elapsed="0.003461"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:06.352936" elapsed="0.011980">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:08.373206" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:08.373323" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:08.373484" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:08.367265" elapsed="0.006810">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.374461" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.375063" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.375363" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.375645" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.375916" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.376189" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.376490" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.376860" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:08.376618" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:08.376592" elapsed="0.000379"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.377330" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:08.377063" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:08.377041" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:08.377756" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:08.377518" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:08.377497" elapsed="0.000370"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:08.374827" elapsed="0.003071"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:08.374570" elapsed="0.003363"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:08.366310" elapsed="0.011756">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:10.386403" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:10.386517" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:10.386685" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:10.380442" elapsed="0.006859">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.387652" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.388274" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.388561" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.388837" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.389118" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.389423" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.389698" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.390092" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:10.389828" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:10.389801" elapsed="0.000402"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.390574" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:10.390300" elapsed="0.000352"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:10.390277" elapsed="0.000407"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:10.390999" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:10.390758" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:10.390737" elapsed="0.000370"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:10.388017" elapsed="0.003122"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:10.387759" elapsed="0.003416"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:10.379484" elapsed="0.011853">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:12.400415" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:12.400507" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:12.400669" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:12.393904" elapsed="0.007396">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.401752" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.402383" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.402662" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.402933" elapsed="0.000027"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.403201" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.403584" elapsed="0.000037"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.403880" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.404295" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:12.404012" elapsed="0.000364"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:12.403984" elapsed="0.000429"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.404734" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:12.404488" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:12.404466" elapsed="0.000378"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:12.405152" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:12.404917" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:12.404896" elapsed="0.000383"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:12.402124" elapsed="0.003187"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:12.401862" elapsed="0.003486"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:12.392877" elapsed="0.012608">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:14.413480" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:14.413565" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:14.413721" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:14.407731" elapsed="0.006604">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.414710" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.415659" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.415948" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.416226" elapsed="0.000051"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.416527" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.416803" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.417135" elapsed="0.000041"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.417557" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:14.417307" elapsed="0.000398"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:14.417278" elapsed="0.000464"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.418064" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:14.417822" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:14.417799" elapsed="0.000384"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:14.418530" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:14.418277" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:14.418254" elapsed="0.000387"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:14.415411" elapsed="0.003262"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:14.414816" elapsed="0.003892"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:14.406818" elapsed="0.012028">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:16.426537" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:16.426623" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:16.426808" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:16.421115" elapsed="0.006308">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.427779" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.428443" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.428808" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.429091" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.429385" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.429658" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.429929" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.430326" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:16.430064" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:16.430031" elapsed="0.000409"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.430860" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:16.430515" elapsed="0.000426"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:16.430494" elapsed="0.000480"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:16.431309" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:16.431052" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:16.431025" elapsed="0.000395"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:16.428175" elapsed="0.003276"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:16.427892" elapsed="0.003593"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:16.420147" elapsed="0.011491">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:18.439703" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:18.439865" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:18.440023" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:18.434175" elapsed="0.006466">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.441001" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.441636" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.441922" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.442205" elapsed="0.000049"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.442504" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.442779" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.443061" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.443462" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:18.443192" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:18.443165" elapsed="0.000411"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.443909" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:18.443668" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:18.443645" elapsed="0.000375"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:18.444354" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:18.444094" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:18.444072" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:18.441396" elapsed="0.003101"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:18.441109" elapsed="0.003424"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:18.433086" elapsed="0.011583">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:20.451073" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:20.451162" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:20.451375" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:20.446458" elapsed="0.005704">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.452733" elapsed="0.000051"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.453691" elapsed="0.000049"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.454122" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.454680" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.455115" elapsed="0.000045"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.455570" elapsed="0.000046"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.455998" elapsed="0.000046"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.456663" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:20.456200" elapsed="0.000589"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:20.456157" elapsed="0.000693"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.457391" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:20.456972" elapsed="0.000541"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:20.456937" elapsed="0.000630"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:20.458060" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:20.457687" elapsed="0.000494"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:20.457652" elapsed="0.000609"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:20.453329" elapsed="0.004994"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:20.452899" elapsed="0.005484"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:20.445950" elapsed="0.012647">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:22.467015" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:22.467146" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:22.467422" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:22.460856" elapsed="0.007497">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.468900" elapsed="0.000110"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.469963" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.470266" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.470544" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.470815" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.471093" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.471393" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.471765" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:22.471521" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:22.471495" elapsed="0.000384"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.472197" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:22.471959" elapsed="0.000405"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:22.471937" elapsed="0.000466"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:22.472736" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:22.472480" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:22.472459" elapsed="0.000388"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:22.469587" elapsed="0.003293"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:22.469129" elapsed="0.003787"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:22.459922" elapsed="0.013152">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:24.481423" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:24.481510" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:24.483865" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:24.475300" elapsed="0.009193">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.484837" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.485479" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.485764" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.486039" elapsed="0.000070"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.486387" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.486661" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.486933" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.487328" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:24.487066" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:24.487038" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.487752" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:24.487516" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:24.487495" elapsed="0.000366"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:24.488167" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:24.487933" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:24.487912" elapsed="0.000383"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:24.485201" elapsed="0.003126"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:24.484942" elapsed="0.003421"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:24.474390" elapsed="0.014109">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:26.496530" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:26.496616" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:26.496856" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:26.490694" elapsed="0.006778">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.497842" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.498472" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.498755" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.499030" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.499324" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.499601" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.499878" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.500273" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:26.500008" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:26.499982" elapsed="0.000406"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.500703" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:26.500463" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:26.500441" elapsed="0.000373"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:26.501124" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:26.500887" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:26.500866" elapsed="0.000367"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:26.498214" elapsed="0.003073"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:26.497948" elapsed="0.003375"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:26.489777" elapsed="0.011705">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:28.509543" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:28.509655" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:28.509907" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:28.503869" elapsed="0.006824">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.511109" elapsed="0.000040"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.511850" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.512153" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.512467" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.512768" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.513056" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.513463" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.513925" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:28.513603" elapsed="0.000407"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:28.513574" elapsed="0.000473"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.514717" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:28.514126" elapsed="0.000678"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:28.514104" elapsed="0.000738"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:28.515177" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:28.514921" elapsed="0.000359"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:28.514898" elapsed="0.000419"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:28.511583" elapsed="0.003769"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:28.511229" elapsed="0.004162"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:28.502864" elapsed="0.012680">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:30.524046" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:30.524176" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:30.524450" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:30.517742" elapsed="0.007637">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.525937" elapsed="0.000054"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.526931" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.527417" elapsed="0.000047"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.527857" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.528320" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.528758" elapsed="0.000046"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.529192" elapsed="0.000096"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.529907" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:30.529448" elapsed="0.000588"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:30.529406" elapsed="0.000686"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.530509" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:30.530212" elapsed="0.000374"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:30.530178" elapsed="0.000443"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:30.530931" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:30.530694" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:30.530672" elapsed="0.000368"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:30.526555" elapsed="0.004517"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:30.526106" elapsed="0.005002"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:30.516826" elapsed="0.014439">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:32.539570" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:32.539702" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:32.539936" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:32.533575" elapsed="0.007524">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.541711" elapsed="0.000058"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.542808" elapsed="0.000052"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.543315" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.543783" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.544270" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.544734" elapsed="0.000048"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.545201" elapsed="0.000076"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.545882" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:32.545446" elapsed="0.000567"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:32.545401" elapsed="0.000671"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.546634" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:32.546199" elapsed="0.000584"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:32.546162" elapsed="0.000678"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:32.547399" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:32.546964" elapsed="0.000570"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:32.546928" elapsed="0.000661"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:32.542404" elapsed="0.005239"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:32.541928" elapsed="0.005777"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:32.532656" elapsed="0.015277">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:34.557046" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:34.557189" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:34.557495" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:34.550353" elapsed="0.008171">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.559209" elapsed="0.000095"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.560325" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.560816" elapsed="0.000049"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.561351" elapsed="0.000051"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.561852" elapsed="0.000062"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.562372" elapsed="0.000050"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.562826" elapsed="0.000045"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.563439" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:34.563026" elapsed="0.000536"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:34.562985" elapsed="0.000633"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.564115" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:34.563737" elapsed="0.000525"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:34.563703" elapsed="0.000617"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:34.564815" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:34.564439" elapsed="0.000497"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:34.564405" elapsed="0.000583"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:34.559891" elapsed="0.005148"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:34.559433" elapsed="0.005661"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:34.549362" elapsed="0.015981">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:36.573511" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:36.573627" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:36.573789" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:36.567823" elapsed="0.006604">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.574784" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.575417" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.575703" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.575982" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.576277" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.576554" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.576831" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.577208" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:36.576961" elapsed="0.000421"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:36.576933" elapsed="0.000488"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.577766" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:36.577500" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:36.577477" elapsed="0.000406"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:36.578202" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:36.577959" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:36.577937" elapsed="0.000397"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:36.575156" elapsed="0.003212"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:36.574892" elapsed="0.003512"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:36.566828" elapsed="0.011712">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:38.587209" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:38.587406" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:38.587656" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:38.580808" elapsed="0.007792">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.589147" elapsed="0.000055"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.590043" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.590357" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.590644" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.590927" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.591212" elapsed="0.000048"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.591540" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.592315" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:38.592025" elapsed="0.000374"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:38.591661" elapsed="0.000776"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.592775" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:38.592518" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:38.592495" elapsed="0.000402"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:38.593219" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:38.592974" elapsed="0.000375"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:38.592952" elapsed="0.000434"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:38.589798" elapsed="0.003622"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:38.589416" elapsed="0.004040"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:38.579879" elapsed="0.013716">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:40.600270" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:40.600468" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:40.600632" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:40.595404" elapsed="0.005872">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.601641" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.602283" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.602572" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.602850" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.603129" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.603426" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.603706" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.604083" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:40.603836" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:40.603808" elapsed="0.000403"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.604555" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:40.604310" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:40.604286" elapsed="0.000381"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:40.605000" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:40.604741" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:40.604720" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:40.602022" elapsed="0.003125"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:40.601751" elapsed="0.003431"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:40.594594" elapsed="0.010746">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:42.614319" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:42.614457" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:42.614703" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:42.607725" elapsed="0.007943">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.616218" elapsed="0.000094"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.617195" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.617511" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.617894" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.618174" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.618471" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.618750" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.619125" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:42.618880" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:42.618853" elapsed="0.000409"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.619592" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:42.619342" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:42.619320" elapsed="0.000409"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:42.620052" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:42.619806" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:42.619784" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:42.616946" elapsed="0.003250"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:42.616432" elapsed="0.003800"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:42.606722" elapsed="0.013674">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:44.628569" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:44.628658" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:44.628828" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:44.622710" elapsed="0.006771">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.629888" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.630607" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.630896" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.631171" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.631501" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.631811" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.632097" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.632532" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:44.632267" elapsed="0.000346"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:44.632200" elapsed="0.000450"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.632970" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:44.632727" elapsed="0.000414"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:44.632706" elapsed="0.000482"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:44.633569" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:44.633303" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:44.633279" elapsed="0.000407"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:44.630355" elapsed="0.003364"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:44.630003" elapsed="0.003752"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:44.621776" elapsed="0.012120">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:46.644877" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:46.645015" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:46.645293" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:46.636485" elapsed="0.009721">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.646789" elapsed="0.000054"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.647783" elapsed="0.000111"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.648312" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.648590" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.648860" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.649130" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.649425" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.649799" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:46.649555" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:46.649527" elapsed="0.000385"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.650232" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:46.649986" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:46.649964" elapsed="0.000399"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:46.650675" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:46.650436" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:46.650415" elapsed="0.000369"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:46.647404" elapsed="0.003412"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:46.646955" elapsed="0.003896"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:46.635492" elapsed="0.015498">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:48.659310" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:48.659432" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:48.659684" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:48.653465" elapsed="0.006864">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.660694" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.661723" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.662016" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.662321" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.662600" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.662878" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.663156" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.663628" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:48.663323" elapsed="0.000386"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:48.663291" elapsed="0.000454"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.664063" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:48.663821" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:48.663799" elapsed="0.000376"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:48.664514" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:48.664269" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:48.664227" elapsed="0.000398"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:48.661471" elapsed="0.003186"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:48.660801" elapsed="0.003892"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:48.652508" elapsed="0.012320">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:50.673981" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:50.674098" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:50.674331" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:50.667675" elapsed="0.007510">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.675728" elapsed="0.000044"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.676573" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.676961" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.677357" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.677748" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.678120" elapsed="0.000039"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.678695" elapsed="0.000041"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.679270" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:50.678894" elapsed="0.000492"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:50.678834" elapsed="0.000605"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.679874" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:50.679545" elapsed="0.000427"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:50.679515" elapsed="0.000506"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:50.680470" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:50.680122" elapsed="0.000451"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:50.680094" elapsed="0.000521"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:50.676228" elapsed="0.004436"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:50.675874" elapsed="0.004837"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:50.666486" elapsed="0.014409">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:52.689035" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:52.689127" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:52.689317" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:52.683132" elapsed="0.006822">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.690388" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.691040" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.691370" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.691666" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.691952" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.692257" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.692556" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.692959" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:52.692693" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:52.692665" elapsed="0.000414"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.693432" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:52.693159" elapsed="0.000357"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:52.693136" elapsed="0.000415"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:52.693879" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:52.693627" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:52.693605" elapsed="0.000390"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:52.690787" elapsed="0.003242"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:52.690507" elapsed="0.003558"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:52.682189" elapsed="0.012021">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:54.703684" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:54.703779" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:54.703962" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:54.697031" elapsed="0.007593">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.705000" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.705671" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.706010" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.706327" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.706622" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.706934" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.707223" elapsed="0.000050"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.707641" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:54.707379" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:54.707351" elapsed="0.000407"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.708114" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:54.707836" elapsed="0.000360"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:54.707814" elapsed="0.000418"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:54.708623" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:54.708360" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:54.708328" elapsed="0.000412"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:54.705416" elapsed="0.003357"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:54.705113" elapsed="0.003697"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:54.696147" elapsed="0.012809">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:56.717720" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:56.717809" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:56.717987" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:56.711165" elapsed="0.007448">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.719051" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.719696" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.719983" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.720281" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.720560" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.720842" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.721118" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.721551" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:56.721299" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:56.721222" elapsed="0.000445"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.721999" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:56.721742" elapsed="0.000349"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:56.721720" elapsed="0.000405"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:56.722467" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:56.722199" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:56.722178" elapsed="0.000402"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:56.719455" elapsed="0.003157"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:56.719162" elapsed="0.003487"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:56.710286" elapsed="0.012500">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:48:58.731106" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:48:58.731193" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:48:58.731707" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:48:58.725123" elapsed="0.007221">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.732719" elapsed="0.000043"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.733362" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.733649" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.734065" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.734358" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.734634" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.734916" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.735310" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:58.735043" elapsed="0.000413"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:58.735016" elapsed="0.000478"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.735818" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:58.735573" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:58.735550" elapsed="0.000379"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:48:58.736263" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:48:58.736003" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:48:58.735981" elapsed="0.000397"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:48:58.733102" elapsed="0.003308"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:48:58.732838" elapsed="0.003608"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:48:58.724152" elapsed="0.012431">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:00.744688" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:00.744776" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:00.744937" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:00.739290" elapsed="0.006293">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.745940" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.746580" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.746864" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.747142" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.747440" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.747715" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.747998" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.748441" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:00.748177" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:00.748148" elapsed="0.000408"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.748866" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:00.748630" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:00.748609" elapsed="0.000371"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:00.749312" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:00.749051" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:00.749030" elapsed="0.000401"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:00.746339" elapsed="0.003123"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:00.746049" elapsed="0.003448"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:00.738299" elapsed="0.011335">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:02.756691" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:02.757006" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:02.757333" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:02.751183" elapsed="0.007242">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.759118" elapsed="0.000069"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.760375" elapsed="0.000055"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.760861" elapsed="0.000048"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.761363" elapsed="0.000056"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.761877" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.762555" elapsed="0.000049"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.763778" elapsed="0.000056"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.764164" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:02.763981" elapsed="0.000238"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:02.763958" elapsed="0.000306"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.764496" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:02.764321" elapsed="0.000230"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:02.764305" elapsed="0.000270"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:02.764800" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:02.764628" elapsed="0.000227"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:02.764613" elapsed="0.000266"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:02.759918" elapsed="0.004984"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:02.759348" elapsed="0.005581"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:02.750608" elapsed="0.014444">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:04.773050" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:04.773138" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:04.773317" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:04.767327" elapsed="0.006585">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.774290" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.774946" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.775263" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.775626" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.775906" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.776191" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.776498" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.776881" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:04.776631" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:04.776603" elapsed="0.000394"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.777335" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:04.777074" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:04.777051" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:04.777772" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:04.777531" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:04.777508" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:04.774666" elapsed="0.003249"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:04.774404" elapsed="0.003546"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:04.766370" elapsed="0.011714">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:06.786902" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:06.786991" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:06.787159" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:06.780449" elapsed="0.007344">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.788163" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.788796" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.789091" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.789387" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.789662" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.789938" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.790217" elapsed="0.000082"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.790673" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:06.790425" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:06.790390" elapsed="0.000407"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.791112" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:06.790873" elapsed="0.000445"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:06.790851" elapsed="0.000531"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:06.791911" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:06.791508" elapsed="0.000527"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:06.791471" elapsed="0.000618"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:06.788557" elapsed="0.003584"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:06.788294" elapsed="0.003902"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:06.779437" elapsed="0.013006">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:08.801261" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:08.801352" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:08.801519" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:08.795514" elapsed="0.006644">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.802524" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.803124" elapsed="0.000050"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.803447" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.803726" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.803998" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.804289" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.804564" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.804934" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:08.804690" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:08.804664" elapsed="0.000380"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.805378" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:08.805119" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:08.805097" elapsed="0.000392"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:08.805826" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:08.805561" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:08.805539" elapsed="0.000399"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:08.802888" elapsed="0.003081"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:08.802630" elapsed="0.003374"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:08.794537" elapsed="0.011599">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:10.814556" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:10.814624" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:10.814834" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:10.808727" elapsed="0.006596">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.815613" elapsed="0.000026"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.816067" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.816289" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.816489" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.816701" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.816904" elapsed="0.000020"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.817136" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.817431" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:10.817248" elapsed="0.000238"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:10.817213" elapsed="0.000299"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.817788" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:10.817592" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:10.817561" elapsed="0.000312"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:10.818096" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:10.817926" elapsed="0.000237"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:10.817910" elapsed="0.000278"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:10.815894" elapsed="0.002317"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:10.815695" elapsed="0.002557"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:10.807713" elapsed="0.010650">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:12.827097" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:12.827229" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:12.827516" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:12.820712" elapsed="0.008266">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.829506" elapsed="0.000025"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.829942" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.830147" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.830361" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.830565" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.830763" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.831032" elapsed="0.000022"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.831324" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:12.831129" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:12.831109" elapsed="0.000296"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.831632" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:12.831459" elapsed="0.000229"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:12.831443" elapsed="0.000269"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:12.831942" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:12.831765" elapsed="0.000233"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:12.831750" elapsed="0.000272"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:12.829771" elapsed="0.002274"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:12.829584" elapsed="0.002487"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:12.819720" elapsed="0.012450">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:14.837486" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:14.837549" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:14.837669" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:14.833687" elapsed="0.004450">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.838427" elapsed="0.000025"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.838885" elapsed="0.000023"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.839088" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.839306" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.839506" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.839721" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.839922" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.840202" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:14.840022" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:14.840002" elapsed="0.000297"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.840533" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:14.840357" elapsed="0.000236"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:14.840338" elapsed="0.000278"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:14.840836" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:14.840668" elapsed="0.000222"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:14.840653" elapsed="0.000262"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:14.838710" elapsed="0.002227"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:14.838508" elapsed="0.002455"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:14.833170" elapsed="0.007892">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:16.849384" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:16.849476" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:16.849646" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:16.843498" elapsed="0.006805">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.850686" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.851353" elapsed="0.000041"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.851662" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.851993" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.852306" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.852599" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.852895" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.853650" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:16.853367" elapsed="0.000370"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:16.853005" elapsed="0.000773"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.854121" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:16.853862" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:16.853839" elapsed="0.000418"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:16.854597" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:16.854341" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:16.854317" elapsed="0.000395"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:16.851088" elapsed="0.003659"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:16.850800" elapsed="0.003987"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:16.842497" elapsed="0.012440">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:18.860604" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:18.860725" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:18.860954" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:18.856253" elapsed="0.005471">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.862177" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.862894" elapsed="0.000042"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.863194" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.863499" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.863810" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.864095" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.864399" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.864807" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:18.864533" elapsed="0.000358"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:18.864506" elapsed="0.000420"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.865262" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:18.865003" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:18.864981" elapsed="0.000396"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:18.865714" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:18.865472" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:18.865446" elapsed="0.000412"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:18.862644" elapsed="0.003248"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:18.862312" elapsed="0.003662"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:18.855753" elapsed="0.010371">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:20.875616" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:20.875747" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:20.875944" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:20.868749" elapsed="0.008024">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.877128" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.877753" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.878043" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.878340" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.878613" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.878897" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.879173" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.879577" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:20.879330" elapsed="0.000407"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:20.879297" elapsed="0.000478"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.880093" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:20.879852" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:20.879829" elapsed="0.000377"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:20.880546" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:20.880303" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:20.880280" elapsed="0.000413"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:20.877518" elapsed="0.003208"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:20.877257" elapsed="0.003503"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:20.867784" elapsed="0.013110">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:22.892379" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:22.892445" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:22.892568" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:22.886606" elapsed="0.006429">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.893311" elapsed="0.000024"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.893747" elapsed="0.000022"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.893946" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.894139" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.894348" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.894542" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.894735" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.895002" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:22.894827" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:22.894809" elapsed="0.000273"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.895325" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:22.895135" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:22.895120" elapsed="0.000283"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:22.895624" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:22.895455" elapsed="0.000224"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:22.895440" elapsed="0.000262"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:22.893578" elapsed="0.002147"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:22.893390" elapsed="0.002361"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:22.882296" elapsed="0.013553">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:24.904173" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:24.904467" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:24.904706" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:24.898135" elapsed="0.007313">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.905797" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.906429" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.906712" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.906986" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.907279" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.907555" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.907831" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.908230" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:24.907960" elapsed="0.000368"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:24.907934" elapsed="0.000431"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.908683" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:24.908441" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:24.908419" elapsed="0.000374"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:24.909108" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:24.908865" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:24.908844" elapsed="0.000374"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:24.906169" elapsed="0.003103"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:24.905905" elapsed="0.003403"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:24.897215" elapsed="0.012230">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:26.918059" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:26.918190" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:26.918375" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:26.911832" elapsed="0.007143">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.919354" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.920408" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.920700" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.921052" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.921388" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.921686" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.922014" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.922428" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:26.922149" elapsed="0.000363"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:26.922123" elapsed="0.000427"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.922875" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:26.922625" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:26.922604" elapsed="0.000386"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:26.923343" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:26.923064" elapsed="0.000372"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:26.923042" elapsed="0.000441"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:26.920128" elapsed="0.003390"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:26.919462" elapsed="0.004094"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:26.910873" elapsed="0.012823">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:28.932061" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:28.932195" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:28.932477" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:28.926061" elapsed="0.007446">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.934171" elapsed="0.000105"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.935425" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.935749" elapsed="0.000034"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.936044" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.936382" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.936686" elapsed="0.000031"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.937027" elapsed="0.000037"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.937478" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:28.937180" elapsed="0.000385"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:28.937150" elapsed="0.000453"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.937987" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:28.937713" elapsed="0.000451"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:28.937668" elapsed="0.000540"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:28.938617" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:28.938337" elapsed="0.000429"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:28.938308" elapsed="0.000509"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:28.935026" elapsed="0.003837"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:28.934418" elapsed="0.004497"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:28.925123" elapsed="0.013949">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:30.947834" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:30.947969" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:30.948158" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:30.941284" elapsed="0.007560">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.949333" elapsed="0.000048"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.949963" elapsed="0.000040"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.950232" elapsed="0.000044"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.950545" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.950802" elapsed="0.000026"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.951058" elapsed="0.000025"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.951328" elapsed="0.000050"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.951694" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:30.951471" elapsed="0.000290"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:30.951446" elapsed="0.000348"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.952074" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:30.951860" elapsed="0.000280"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:30.951841" elapsed="0.000329"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:30.952483" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:30.952250" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:30.952215" elapsed="0.000381"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:30.949742" elapsed="0.002887"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:30.949468" elapsed="0.003197"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:30.940356" elapsed="0.012457">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:32.962004" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:32.962158" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:32.962630" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:32.956074" elapsed="0.007589">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.964291" elapsed="0.000061"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.965539" elapsed="0.000065"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.966143" elapsed="0.000057"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.966578" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.966851" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.967122" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.967430" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.967848" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:32.967563" elapsed="0.000371"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:32.967535" elapsed="0.000440"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.968345" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:32.968070" elapsed="0.000366"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:32.968046" elapsed="0.000427"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:32.968821" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:32.968561" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:32.968532" elapsed="0.000403"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:32.964978" elapsed="0.003989"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:32.964477" elapsed="0.004528"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:32.955121" elapsed="0.014027">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:34.977060" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:34.977146" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:34.977331" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:34.971469" elapsed="0.006470">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.978331" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.978948" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.979252" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.979530" elapsed="0.000070"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.979853" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.980131" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.980513" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.980891" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:34.980644" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:34.980618" elapsed="0.000384"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.981339" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:34.981078" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:34.981056" elapsed="0.000394"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:34.981763" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:34.981524" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:34.981502" elapsed="0.000371"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:34.978709" elapsed="0.003197"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:34.978442" elapsed="0.003499"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:34.970519" elapsed="0.011556">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:36.991097" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:36.991169" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:36.991327" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:36.984617" elapsed="0.007550">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.992486" elapsed="0.000026"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.992970" elapsed="0.000025"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.993217" elapsed="0.000038"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.993439" elapsed="0.000021"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.993636" elapsed="0.000020"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.993831" elapsed="0.000021"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.994051" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.994362" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:36.994159" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:36.994137" elapsed="0.000312"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.994677" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:36.994504" elapsed="0.000233"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:36.994489" elapsed="0.000272"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:36.994985" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:36.994813" elapsed="0.000227"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:36.994798" elapsed="0.000266"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:36.992773" elapsed="0.002320"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:36.992572" elapsed="0.002561"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:36.983502" elapsed="0.011768">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:39.002769" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:39.002856" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:39.003039" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:38.997759" elapsed="0.005924">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.004052" elapsed="0.000043"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.004695" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.004981" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.005279" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.005559" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.005837" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.006151" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.006555" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:39.006305" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:39.006276" elapsed="0.000392"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.006991" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:39.006746" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:39.006723" elapsed="0.000378"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:39.007438" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:39.007175" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:39.007153" elapsed="0.000396"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:39.004452" elapsed="0.003130"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:39.004167" elapsed="0.003450"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:38.996773" elapsed="0.010981">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:41.018400" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:41.018489" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:41.018687" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:41.010040" elapsed="0.009323">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.019819" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.020464" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.020755" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.021034" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.021331" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.021608" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.021886" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.022600" elapsed="0.000082"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:41.022014" elapsed="0.000725"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:41.021987" elapsed="0.000790"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.023108" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:41.022858" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:41.022835" elapsed="0.000388"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:41.023572" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:41.023324" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:41.023301" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:41.020197" elapsed="0.003532"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:41.019927" elapsed="0.003838"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:41.009080" elapsed="0.014824">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:43.032130" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:43.032216" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:43.032400" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:43.026031" elapsed="0.006961">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.033376" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.033983" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.034288" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.034569" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.034869" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.035144" elapsed="0.000029"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.035444" elapsed="0.000032"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.035853" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:43.035601" elapsed="0.000519"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:43.035566" elapsed="0.000594"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.036527" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:43.036262" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:43.036216" elapsed="0.000424"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:43.036959" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:43.036715" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:43.036693" elapsed="0.000377"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:43.033745" elapsed="0.003358"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:43.033483" elapsed="0.003655"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:43.025131" elapsed="0.012165">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:45.046778" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:45.046867" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:45.047034" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:45.039615" elapsed="0.008107">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.048084" elapsed="0.000035"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.048718" elapsed="0.000033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.049007" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.049307" elapsed="0.000037"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.049594" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.049879" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.050161" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.050617" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:45.050317" elapsed="0.000380"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:45.050286" elapsed="0.000447"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.051052" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:45.050810" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:45.050788" elapsed="0.000380"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:45.051519" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:45.051264" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:45.051222" elapsed="0.000411"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:45.048476" elapsed="0.003190"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:45.048191" elapsed="0.003511"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:45.038679" elapsed="0.013160">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:47.061140" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:47.061349" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:47.061522" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:47.054228" elapsed="0.007914">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.062700" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.063348" elapsed="0.000041"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.063643" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.063920" elapsed="0.000028"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.064197" elapsed="0.000029"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.064494" elapsed="0.000028"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.064768" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.065141" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:47.064894" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:47.064868" elapsed="0.000404"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.065592" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:47.065350" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:47.065328" elapsed="0.000394"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:47.066041" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:47.065802" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:47.065780" elapsed="0.000371"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:47.063087" elapsed="0.003096"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:47.062804" elapsed="0.003415"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:47.053222" elapsed="0.013154">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:49.075057" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:49.075144" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:49.075332" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:49.068611" elapsed="0.007355">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.076351" elapsed="0.000040"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.077029" elapsed="0.000032"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.077338" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.077714" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.078005" elapsed="0.000030"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.078314" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.078646" elapsed="0.000035"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.079044" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:49.078789" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:49.078762" elapsed="0.000400"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.079523" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:49.079262" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:49.079216" elapsed="0.000423"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:49.079958" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:49.079715" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:49.079692" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:49.076786" elapsed="0.003319"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:49.076464" elapsed="0.003677"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:49.067688" elapsed="0.012619">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Linear Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:51.089117" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:51.089211" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:51.089416" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:51.082597" elapsed="0.007469">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.090519" elapsed="0.000038"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"node-id":"openflow:${switch}"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.091636" elapsed="0.000035"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:1"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.091942" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.092233" elapsed="0.000052"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.092705" elapsed="0.000031"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:2"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.092993" elapsed="0.000030"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<var>${edge}</var>
<arg>${switch}==1 or ${switch}==${switches}</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.093304" elapsed="0.000031"/>
</kw>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"tp-id":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.093702" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:51.093442" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:51.093413" elapsed="0.000410"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"source-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.094191" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:51.093903" elapsed="0.000523"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:51.093880" elapsed="0.000589"/>
</if>
<if>
<branch type="IF" condition="not ${edge}">
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>"dest-tp":"openflow:${switch}:3"</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.094815" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:49:51.094553" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-05-25T00:49:51.094529" elapsed="0.000403"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:49:51.091327" elapsed="0.003640"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:49:51.090638" elapsed="0.004368"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-05-25T00:49:51.081694" elapsed="0.013467">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<msg time="2026-05-25T00:49:51.095323" level="FAIL">Keyword 'FlowLib.Check Linear Topology' failed after retrying for 5 minutes. The last error was: Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<arg>300s</arg>
<arg>2s</arg>
<arg>FlowLib.Check Linear Topology</arg>
<arg>${SWITCHES}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.974513" elapsed="300.121011">Keyword 'FlowLib.Check Linear Topology' failed after retrying for 5 minutes. The last error was: Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<doc>Check Linear Topology.</doc>
<status status="FAIL" start="2026-05-25T00:44:50.973768" elapsed="300.122031">Keyword 'FlowLib.Check Linear Topology' failed after retrying for 5 minutes. The last error was: Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</test>
<test id="s1-s4-s1-t19" name="Check Flows In Operational DS After Controller Restarts" line="132">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:51.103108" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:51.103208" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:51.103409" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:51.099018" elapsed="0.005072">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.104431" elapsed="0.000024"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.104642" elapsed="0.000021"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:51.104851" elapsed="0.000021"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:51.098514" elapsed="0.006453">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:52.112861" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:52.112951" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:52.113105" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:52.106902" elapsed="0.006824">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:52.114088" elapsed="0.000034"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:52.114408" elapsed="0.000031"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:52.114784" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:52.105944" elapsed="0.009007">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:53.123369" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:53.123506" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:53.123740" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:53.116899" elapsed="0.007770">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:53.125209" elapsed="0.000084"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:53.125714" elapsed="0.000049"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:53.126342" elapsed="0.000056"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:53.115919" elapsed="0.010695">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:54.135366" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:54.135465" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:54.135648" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:54.130100" elapsed="0.006247">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:54.136724" elapsed="0.000035"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:54.137030" elapsed="0.000032"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:54.137356" elapsed="0.000032"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:54.128378" elapsed="0.009153">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:55.146686" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:55.146775" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:55.147068" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:55.139485" elapsed="0.008207">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:55.148075" elapsed="0.000036"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:55.148441" elapsed="0.000032"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:55.148741" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:55.138527" elapsed="0.010381">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:56.158489" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:56.158652" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:56.158817" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:56.150916" elapsed="0.008551">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:56.159883" elapsed="0.000038"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:56.160197" elapsed="0.000031"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:56.160504" elapsed="0.000038"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:56.149956" elapsed="0.010700">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:57.169643" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:57.169773" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:57.170002" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:57.162452" elapsed="0.008273">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:57.171076" elapsed="0.000076"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:57.171441" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:57.171730" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:57.161564" elapsed="0.010326">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:58.181157" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:58.181400" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:58.181621" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:58.173827" elapsed="0.008428">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:58.182605" elapsed="0.000034"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:58.182897" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:58.183190" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:58.172857" elapsed="0.010518">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:49:59.190979" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:49:59.191068" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:49:59.191266" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:49:59.185058" elapsed="0.006844">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:59.192297" elapsed="0.000034"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:59.192645" elapsed="0.000035"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:49:59.192943" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:49:59.184195" elapsed="0.008915">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:00.200839" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:00.200923" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:00.201078" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:00.195119" elapsed="0.006618">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:00.202161" elapsed="0.000033"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:00.202471" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:00.202854" elapsed="0.000037"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:00.194053" elapsed="0.009006">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:01.212058" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:01.212196" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:01.212540" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:01.205076" elapsed="0.008509">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:01.214129" elapsed="0.000054"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:01.214676" elapsed="0.000051"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:01.215165" elapsed="0.000050"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:01.204049" elapsed="0.011432">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:02.223463" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:02.223549" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:02.223713" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:02.217579" elapsed="0.007171">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:02.225106" elapsed="0.000035"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:02.225439" elapsed="0.000032"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:02.225738" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:02.216559" elapsed="0.009347">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:03.234396" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:03.234484" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:03.234719" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:03.227829" elapsed="0.007509">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:03.235738" elapsed="0.000035"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:03.236035" elapsed="0.000029"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:03.236366" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:03.226881" elapsed="0.009652">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:04.244782" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:04.244961" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:04.245297" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:04.238582" elapsed="0.007815">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:04.246972" elapsed="0.000056"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:04.247494" elapsed="0.000053"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:04.247991" elapsed="0.000049"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:04.237577" elapsed="0.010721">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:05.256806" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:05.256936" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:05.257169" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:05.250308" elapsed="0.007824">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:05.258510" elapsed="0.000038"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:05.258801" elapsed="0.000029"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:05.259089" elapsed="0.000028"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:05.249329" elapsed="0.009941">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:06.267807" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:06.268049" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:06.268359" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:06.261358" elapsed="0.007984">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:06.269957" elapsed="0.000071"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:06.270530" elapsed="0.000054"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:06.271085" elapsed="0.000040"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:06.260320" elapsed="0.010997">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:07.279075" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:07.279162" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:07.279354" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:07.273806" elapsed="0.006191">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:07.280373" elapsed="0.000033"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:07.280663" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:07.280953" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:07.272878" elapsed="0.008238">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:08.289350" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:08.289490" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:08.289726" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:08.282975" elapsed="0.007718">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:08.291356" elapsed="0.000058"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:08.291817" elapsed="0.000047"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:08.292502" elapsed="0.000051"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:08.282034" elapsed="0.010735">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:09.300179" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:09.300292" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:09.300456" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:09.294810" elapsed="0.006285">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:09.301481" elapsed="0.000033"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:09.301769" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:09.302058" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:09.293809" elapsed="0.008413">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:10.310143" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:10.310309" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:10.310545" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:10.304089" elapsed="0.007396">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:10.312019" elapsed="0.000052"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:10.312507" elapsed="0.000048"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:10.312968" elapsed="0.000046"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:10.303172" elapsed="0.010049">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:11.321931" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:11.322063" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:11.322572" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:11.315224" elapsed="0.008320">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:11.323812" elapsed="0.000024"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:11.324020" elapsed="0.000021"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:11.324226" elapsed="0.000038"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:11.314191" elapsed="0.010171">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:12.333207" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:12.333380" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:12.333638" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:12.326177" elapsed="0.008403">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:12.335189" elapsed="0.000092"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:12.335613" elapsed="0.000031"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:12.335904" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:12.325220" elapsed="0.010849">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:13.344394" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:13.344535" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:13.344712" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:13.338078" elapsed="0.007295">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:13.345735" elapsed="0.000034"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:13.346019" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:13.346354" elapsed="0.000033"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:13.337045" elapsed="0.009489">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:14.355025" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:14.355309" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:14.355573" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:14.348595" elapsed="0.008047">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:14.357000" elapsed="0.000034"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:14.357316" elapsed="0.000031"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:14.357606" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:14.347552" elapsed="0.010218">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:15.365751" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:15.365887" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:15.366142" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:15.359663" elapsed="0.010103">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:15.370027" elapsed="0.000024"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:15.370230" elapsed="0.000037"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:15.370452" elapsed="0.000020"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:15.358754" elapsed="0.011816">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:16.379481" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:16.379610" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:16.379841" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:16.372382" elapsed="0.008378">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:16.381317" elapsed="0.000054"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:16.381819" elapsed="0.000049"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:16.382407" elapsed="0.000049"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:16.371486" elapsed="0.011182">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:17.390750" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:17.390880" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:17.391112" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:17.384726" elapsed="0.007323">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:17.392611" elapsed="0.000054"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:17.393077" elapsed="0.000048"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:17.393625" elapsed="0.000061"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:17.383710" elapsed="0.010203">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:18.402097" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:18.402231" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:18.402520" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:18.395958" elapsed="0.007582">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:18.403955" elapsed="0.000024"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:18.404165" elapsed="0.000022"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:18.404394" elapsed="0.000022"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:18.394951" elapsed="0.009564">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:19.412851" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:19.412943" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:19.413209" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:19.406403" elapsed="0.007467">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:19.414309" elapsed="0.000038"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:19.414607" elapsed="0.000030"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:19.414919" elapsed="0.000032"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:19.405476" elapsed="0.009634">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:20.491366" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:20.491432" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:20.491568" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:20.486773" elapsed="0.005300">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:20.492368" elapsed="0.000026"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:20.492582" elapsed="0.000021"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:20.492792" elapsed="0.000021"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:20.416145" elapsed="0.076769">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:21.501018" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:21.501153" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:21.501425" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.494827" elapsed="0.007540">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.502901" elapsed="0.000054"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${count}</var>
<arg>${resp.text}</arg>
<arg>"priority"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.503405" elapsed="0.000049"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${count}</arg>
<arg>${flows}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.503876" elapsed="0.000047"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.493872" elapsed="0.010266">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<msg time="2026-05-25T00:50:21.504366" level="FAIL">Keyword 'FlowLib.Check Number Of Flows' failed after retrying for 30 seconds. The last error was: Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<arg>30s</arg>
<arg>1s</arg>
<arg>FlowLib.Check Number Of Flows</arg>
<arg>${less_flows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-05-25T00:49:51.097584" elapsed="30.407015">Keyword 'FlowLib.Check Number Of Flows' failed after retrying for 30 seconds. The last error was: Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="FAIL" start="2026-05-25T00:49:51.096660" elapsed="30.408406">Keyword 'FlowLib.Check Number Of Flows' failed after retrying for 30 seconds. The last error was: Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</test>
<test id="s1-s4-s1-t20" name="Check Groups In Operational DS After Controller Restarts" line="136">
<kw name="Check Number Of Groups" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:21.513197" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 path_url=/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:21.513301" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '411'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/opendaylight-inventory:nodes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:21.513437" level="FAIL">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_NODES_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.508014" elapsed="0.005987">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.514325" elapsed="0.000033"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<var>${group_count}</var>
<arg>${resp.text}</arg>
<arg>"group-type"</arg>
<doc>Returns and logs how many times ``item`` is found from ``container``.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.514609" elapsed="0.000029"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<arg>${group_count}</arg>
<arg>${groups}</arg>
<doc>Fails if objects are unequal after converting them to integers.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.514892" elapsed="0.000028"/>
</kw>
<arg>${less_groups}</arg>
<doc>Check number of groups in the inventory.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.507170" elapsed="0.007875">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.505861" elapsed="0.009413">Url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</test>
<test id="s1-s4-s1-t21" name="Check Flows In Switch After Controller Restarts" line="140">
<kw name="Check Flows In Mininet" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:50:21.517551" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-05-25T00:50:21.517193" elapsed="0.000615"/>
</branch>
<status status="PASS" start="2026-05-25T00:50:21.517162" elapsed="0.000685"/>
</if>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:50:21.518540" level="INFO">${cmd} = dpctl dump-aggregate -O OpenFlow13</msg>
<var>${cmd}</var>
<arg>dpctl dump-aggregate -O OpenFlow13</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:50:21.518099" elapsed="0.000480"/>
</kw>
<kw name="Send Mininet Command" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="PASS" start="2026-05-25T00:50:21.519808" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-05-25T00:50:21.519499" elapsed="0.000555"/>
</branch>
<status status="PASS" start="2026-05-25T00:50:21.519472" elapsed="0.000618"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:50:21.523694" level="INFO">dpctl dump-aggregate -O OpenFlow13</msg>
<arg>${cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:50:21.520355" elapsed="0.003420"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:50:21.595965" level="INFO">*** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=95 byte_count=7865 flow_count=100
*** s2 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=184 byte_count=15325 flow_count=100
*** s3 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=96 byte_count=7950 flow_count=100
mininet&gt;</msg>
<msg time="2026-05-25T00:50:21.596075" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=95 byte_count=7865 flow_count=100
*** s2 ----------------------...</msg>
<var>${output}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:50:21.524008" elapsed="0.072094"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-05-25T00:50:21.596158" elapsed="0.000038"/>
</return>
<msg time="2026-05-25T00:50:21.596351" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=95 byte_count=7865 flow_count=100
*** s2 ----------------------...</msg>
<var>${output}</var>
<arg>${mininet_conn}</arg>
<arg>${cmd}</arg>
<doc>Sends Command dpctl dump-aggregate -O OpenFlow13 to Mininet session 20 and returns read buffer response.</doc>
<status status="PASS" start="2026-05-25T00:50:21.519040" elapsed="0.077339"/>
</kw>
<kw name="Get Regexp Matches" owner="String">
<msg time="2026-05-25T00:50:21.596845" level="INFO">${flows} = ['100', '100', '100']</msg>
<var>${flows}</var>
<arg>${output}</arg>
<arg>(?&lt;=flow_count\=).*?(?=\r)</arg>
<doc>Returns a list of all non-overlapping matches in the given string.</doc>
<status status="PASS" start="2026-05-25T00:50:21.596574" elapsed="0.000297"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-05-25T00:50:21.597509" level="INFO">${total_flows} = 300</msg>
<var>${total_flows}</var>
<arg>sum(map(int, ${flows}))</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-05-25T00:50:21.597088" elapsed="0.000448"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<arg>${total_flows}</arg>
<arg>${flow_count}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-05-25T00:50:21.597740" elapsed="0.000331"/>
</kw>
<arg>${mininet_conn_id}</arg>
<arg>${less_flows}</arg>
<doc>Sync with mininet to match exact number of flows</doc>
<status status="PASS" start="2026-05-25T00:50:21.516710" elapsed="0.081424"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-05-25T00:50:21.515563" elapsed="0.082694"/>
</test>
<test id="s1-s4-s1-t22" name="Stop Mininet" line="144">
<kw name="Stop Mininet And Exit" owner="MininetKeywords">
<if>
<branch type="IF" condition="&quot;&quot;&quot;${mininet_conn}&quot;&quot;&quot; != &quot;&quot;">
<kw name="Switch Connection" owner="SSHLibrary">
<arg>${mininet_conn}</arg>
<doc>Switches the active connection by index or alias.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.605287" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:50:21.605044" elapsed="0.000301"/>
</branch>
<status status="PASS" start="2026-05-25T00:50:21.605024" elapsed="0.000347"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-05-25T00:50:21.606380" level="INFO">exit</msg>
<arg>exit</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-05-25T00:50:21.605512" elapsed="0.000923"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-05-25T00:50:21.836332" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 5 links
.....
*** Stopping 3 switches
s1 s2 s3 
*** Stopping 3 hosts
h1 h2 h3 
*** Done
completed in 729.953 seconds
[?2004h[jenkins@releng-23793-561-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${TOOLS_SYSTEM_PROMPT}</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-05-25T00:50:21.606663" elapsed="0.229823"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:50:21.836817" elapsed="0.000285"/>
</kw>
<doc>Stops Mininet and exits session ${mininet_conn}</doc>
<status status="PASS" start="2026-05-25T00:50:21.603068" elapsed="0.234134"/>
</kw>
<doc>Stop Mininet.</doc>
<status status="PASS" start="2026-05-25T00:50:21.598517" elapsed="0.238858"/>
</test>
<test id="s1-s4-s1-t23" name="Check No Switches" line="148">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:21.843359" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:21.843421" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:21.843563" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.839750" elapsed="0.004298">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.844334" elapsed="0.000025"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:21.844705" elapsed="0.000024"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:50:21.844488" elapsed="0.000279"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:50:21.844418" elapsed="0.000379"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:50:21.839386" elapsed="0.005517">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:22.853547" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:22.853713" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:22.854002" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:22.846657" elapsed="0.007985">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:22.855080" elapsed="0.000036"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:22.855548" elapsed="0.000032"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:50:22.855305" elapsed="0.000326"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:50:22.855191" elapsed="0.000480"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:50:22.845722" elapsed="0.010089">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:23.864352" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:23.864485" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:23.864724" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:23.857920" elapsed="0.007741">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:23.866280" elapsed="0.000057"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:23.866964" elapsed="0.000057"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:50:23.866581" elapsed="0.000513"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:50:23.866450" elapsed="0.000683"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:50:23.856882" elapsed="0.010404">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:24.875652" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:24.875789" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:24.876044" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:24.869411" elapsed="0.007667">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:24.877464" elapsed="0.000034"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:24.877896" elapsed="0.000032"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:50:24.877659" elapsed="0.000319"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:50:24.877571" elapsed="0.000446"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:50:24.868381" elapsed="0.009776">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:25.886352" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:25.886441" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:25.886677" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:25.880562" elapsed="0.006736">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:25.887659" elapsed="0.000033"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:25.888092" elapsed="0.000031"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:50:25.887854" elapsed="0.000320"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:50:25.887765" elapsed="0.000447"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:50:25.879412" elapsed="0.008962">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:26.896360" level="INFO">GET Request : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:26.896451" level="INFO">GET Response : url=http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=401, reason=Unauthorized 
 headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '416'} 
 body=&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/&gt;
&lt;title&gt;Error 401 Unauthorized&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401 Unauthorized&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;URI:&lt;/th&gt;&lt;td&gt;/rests/data/network-topology:network-topology&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;STATUS:&lt;/th&gt;&lt;td&gt;401&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;MESSAGE:&lt;/th&gt;&lt;td&gt;Unauthorized&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;SERVLET:&lt;/th&gt;&lt;td&gt;default&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;
 
 </msg>
<msg time="2026-05-25T00:50:26.896619" level="FAIL">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_API}</arg>
<arg>expected_status=200</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:26.890432" elapsed="0.006877">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<kw name="Log" owner="BuiltIn">
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:26.897692" elapsed="0.000037"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>openflow:${switch}</arg>
<doc>Fails if ``container`` contains ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:26.898127" elapsed="0.000030"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-05-25T00:50:26.897889" elapsed="0.000319"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-05-25T00:50:26.897801" elapsed="0.000467"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-05-25T00:50:26.889460" elapsed="0.008951">Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<msg time="2026-05-25T00:50:26.898538" level="FAIL">Keyword 'FlowLib.Check No Switches In Topology' failed after retrying for 5 seconds. The last error was: Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</msg>
<arg>5s</arg>
<arg>1s</arg>
<arg>FlowLib.Check No Switches In Topology</arg>
<arg>${SWITCHES}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.838669" elapsed="5.059999">Keyword 'FlowLib.Check No Switches In Topology' failed after retrying for 5 seconds. The last error was: Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<doc>Check no switches in topology.</doc>
<status status="FAIL" start="2026-05-25T00:50:21.837949" elapsed="5.060954">Keyword 'FlowLib.Check No Switches In Topology' failed after retrying for 5 seconds. The last error was: Url: http://10.30.170.7:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</test>
<kw name="Final Phase" type="TEARDOWN">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-05-25T00:50:26.901457" level="INFO">${command} = sudo iptables -v -F</msg>
<var>${command}</var>
<arg>sudo iptables -v -F</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-05-25T00:50:26.900695" elapsed="0.000791"/>
</kw>
<kw name="Run Command On Controller" owner="Utils">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Run Command On Remote System" owner="Utils">
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot; and &quot;${return_stderr}&quot;!=&quot;True&quot;">
<kw name="Fail" owner="BuiltIn">
<arg>At least one of {return_stdout} or {return_stderr} args should be set to True</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-05-25T00:50:26.903765" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-05-25T00:50:26.903430" elapsed="0.000395"/>
</branch>
<status status="PASS" start="2026-05-25T00:50:26.903400" elapsed="0.000454"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:50:26.904192" level="INFO">index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<msg time="2026-05-25T00:50:26.904378" level="INFO">${current_ssh_connection} = index=None
host=None
alias=None
port=22
timeout=3 seconds
newline=

prompt=None
term_type=vt100
width=80
height=24
path_separator=/
encoding=utf8
escape_ansi=False
encoding_errors=strict</msg>
<var>${current_ssh_connection}</var>
<doc>Returns information about the connection.</doc>
<status status="PASS" start="2026-05-25T00:50:26.904011" elapsed="0.000396"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:50:26.905071" level="INFO">Attempting to execute command "sudo iptables -v -F" on remote system "10.30.170.7" by user "jenkins" with keyfile pass "any" and prompt "&gt;" and password ""</msg>
<arg>Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}"</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:50:26.904565" elapsed="0.000571"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-05-25T00:50:26.905745" level="INFO">${conn_id} = 32</msg>
<var>${conn_id}</var>
<arg>${system}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${prompt_timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:50:26.905326" elapsed="0.000446"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-05-25T00:50:26.906706" level="INFO">Length is 0.</msg>
<msg time="2026-05-25T00:50:26.906809" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-05-25T00:50:26.906408" elapsed="0.000443"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:50:26.907027" elapsed="0.000356"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-05-25T00:50:26.908261" level="INFO">Logging into '10.30.170.7:22' as 'jenkins'.</msg>
<msg time="2026-05-25T00:50:27.483206" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-173-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 25 00:50:27 UTC 2026

  System load:  0.08               Processes:             120
  Usage of /:   11.1% of 77.35GB   Users logged in:       0
  Memory usage: 8%                 IPv4 address for ens3: 10.30.170.7
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

10 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 25 00:44:50 2026 from 10.30.170.159
[?2004h[jenkins@releng-23793-561-0-builder-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-05-25T00:50:26.907922" elapsed="0.575552"/>
</kw>
<msg time="2026-05-25T00:50:27.483627" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:50:26.907556" elapsed="0.576237"/>
</kw>
<arg>${user}</arg>
<arg>${password}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-05-25T00:50:26.905996" elapsed="0.578004"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-05-25T00:50:27.484941" level="INFO">Executing command 'sudo iptables -v -F'.</msg>
<msg time="2026-05-25T00:50:27.538491" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-05-25T00:50:27.538771" level="INFO">${stdout} = Flushing chain `INPUT'
Flushing chain `FORWARD'
Flushing chain `OUTPUT'
Flushing chain `DOCKER'
Flushing chain `DOCKER-BRIDGE'
Flushing chain `DOCKER-CT'
Flushing chain `DOCKER-FORWARD'
Flushing chain...</msg>
<msg time="2026-05-25T00:50:27.538842" level="INFO">${stderr} = </msg>
<var>${stdout}</var>
<var>${stderr}</var>
<arg>${cmd}</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-05-25T00:50:27.484497" elapsed="0.054380"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:50:27.539217" elapsed="0.000461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-05-25T00:50:27.540488" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-05-25T00:50:27.540010" elapsed="0.000550"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:50:27.540899" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-05-25T00:50:27.540685" elapsed="0.000286"/>
</branch>
<status status="PASS" start="2026-05-25T00:50:27.540643" elapsed="0.000361"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-05-25T00:50:27.541288" elapsed="0.000049"/>
</return>
<status status="PASS" start="2026-05-25T00:50:27.541079" elapsed="0.000310"/>
</branch>
<status status="PASS" start="2026-05-25T00:50:27.541058" elapsed="0.000365"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-05-25T00:50:27.541482" elapsed="0.000021"/>
</return>
<kw name="Restore_Current_Ssh_Connection_From_Index" owner="SSHKeywords" type="TEARDOWN">
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${connection_index} is not None</arg>
<arg>SSHLibrary.Switch Connection</arg>
<arg>${connection_index}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:50:27.545702" elapsed="0.000505"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>127.0.0.1</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-05-25T00:50:27.546489" elapsed="0.000244"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-05-25T00:50:27.546957" elapsed="0.000147"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-05-25T00:50:27.542099" elapsed="0.005085"/>
</kw>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Reduces the common work of running a command on a remote system to a single higher level
robot keyword, taking care to log in with a public key and. The command given is written and the return value
depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False).
At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value
will be a two element list containing both. Otherwise the resulting return value is a string.
No test conditions are checked.</doc>
<status status="PASS" start="2026-05-25T00:50:26.902861" elapsed="0.644526"/>
</kw>
<msg time="2026-05-25T00:50:27.547571" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Run Command On Remote System</arg>
<arg>${system}</arg>
<arg>${cmd}</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>prompt=${prompt}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-05-25T00:50:26.902256" elapsed="0.645425"/>
</kw>
<arg>cmd=${command}</arg>
<doc>Call Run Comand On Remote System, but with default values suitable for Controller machine.</doc>
<status status="PASS" start="2026-05-25T00:50:26.901701" elapsed="0.646100"/>
</kw>
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:27.552996" level="INFO">DELETE Request : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes 
 path_url=/rests/data/opendaylight-inventory:nodes 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node013ady73zow8iu1v72wd6i8901y10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:27.553065" level="INFO">DELETE Response : url=http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes 
 status=401, reason=Unauthorized 
 headers={'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-05-25T00:50:27.553225" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes</msg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="FAIL" start="2026-05-25T00:50:27.548603" elapsed="0.005234">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.7:8181/rests/data/opendaylight-inventory:nodes</status>
</kw>
<arg>RequestsLibrary.DELETE On Session</arg>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-05-25T00:50:27.548039" elapsed="0.005899"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-05-25T00:50:27.554348" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-05-25T00:50:27.554194" elapsed="0.000392"/>
</kw>
<doc>Delete all sessions.</doc>
<status status="PASS" start="2026-05-25T00:50:26.900183" elapsed="0.654491"/>
</kw>
<doc>Test reconciliation of chained groups and flows after switch connection and controller are restarted.</doc>
<status status="FAIL" start="2026-05-25T00:38:04.496358" elapsed="743.058367"/>
</suite>
<status status="FAIL" start="2026-05-25T00:38:04.494797" elapsed="743.061633"/>
</suite>
<status status="FAIL" start="2026-05-25T00:35:08.671465" elapsed="918.887657"/>
</suite>
<statistics>
<total>
<stat pass="389" fail="5" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="openflowplugin-sanity.txt" id="s1" pass="389" fail="5" skip="0">openflowplugin-sanity.txt</stat>
<stat name="MD SAL NSF OF10" id="s1-s1" pass="21" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF10</stat>
<stat name="010 Restconf Inventory" id="s1-s1-s1" pass="7" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF10.010 Restconf Inventory</stat>
<stat name="020 Restconf Topology" id="s1-s1-s2" pass="4" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF10.020 Restconf Topology</stat>
<stat name="030 Restconf Statistics" id="s1-s1-s3" pass="4" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF10.030 Restconf Statistics</stat>
<stat name="040 Restconf Frm" id="s1-s1-s4" pass="6" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF10.040 Restconf Frm</stat>
<stat name="MD SAL NSF OF13" id="s1-s2" pass="24" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF13</stat>
<stat name="010 Restconf Inventory" id="s1-s2-s1" pass="7" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF13.010 Restconf Inventory</stat>
<stat name="020 Restconf Topology" id="s1-s2-s2" pass="4" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF13.020 Restconf Topology</stat>
<stat name="030 Restconf Statistics" id="s1-s2-s3" pass="4" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF13.030 Restconf Statistics</stat>
<stat name="040 Restconf Frm" id="s1-s2-s4" pass="9" fail="0" skip="0">openflowplugin-sanity.txt.MD SAL NSF OF13.040 Restconf Frm</stat>
<stat name="Stat Manager extended" id="s1-s3" pass="326" fail="0" skip="0">openflowplugin-sanity.txt.Stat Manager extended</stat>
<stat name="010 SM add upd del flows" id="s1-s3-s1" pass="174" fail="0" skip="0">openflowplugin-sanity.txt.Stat Manager extended.010 SM add upd del flows</stat>
<stat name="020 SM sal add upd del flows" id="s1-s3-s2" pass="152" fail="0" skip="0">openflowplugin-sanity.txt.Stat Manager extended.020 SM sal add upd del flows</stat>
<stat name="Reconciliation" id="s1-s4" pass="18" fail="5" skip="0">openflowplugin-sanity.txt.Reconciliation</stat>
<stat name="010 Group Flows" id="s1-s4-s1" pass="18" fail="5" skip="0">openflowplugin-sanity.txt.Reconciliation.010 Group Flows</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
